1 / 19

Open Source Software Development and Very Large-Scale Software Engineering

Open Source Software Development and Very Large-Scale Software Engineering. Walt Scacchi Institute for Software Research University of California, Irvine Irvine, CA, 92697-3425 USA 19 July 2005 www.isr.uci.edu/research-open-source.html. Overview. OSS Development Models

Download Presentation

Open Source Software Development and Very Large-Scale Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Open Source Software Development and Very Large-Scale Software Engineering Walt Scacchi Institute for Software ResearchUniversity of California, IrvineIrvine, CA, 92697-3425 USA 19 July 2005 www.isr.uci.edu/research-open-source.html

  2. Overview • OSS Development Models • Service-Oriented Middleware Architectures • Information Assurance and Security in OSS • OSSD supporting DoD/Federal Agencies • Government and Industry Adoption of OSSD • Very Large-Scale Software Engineering • VLSSE Processes • OSSD/SE Processes Accommodating New H/W

  3. OSS Development Models • Free Software (GPL) • Open Source (BSD/MIT, Mozilla, Apache) • Corporate Source (Hewlett-Packard) • Consortium/Alliance (OSDL, SugarCRM) • Corporate-Sponsored (IBM-Eclipse, Sun-Netbeans, Sun-OpenOffice, HP-Gelato) • Shared Source (Microsoft) • Community Source (Sakai, Westwood) • Open Systems (open APIs, closed components)

  4. Critical OSSD Success Factors • OSS Developers are always users of what they build, while OSS users (>1%) are also OSS developers • Requires “critical mass” of contributors and OSS components connected through socio-technical interaction networks • OSSD projects emerge/evolve via bricolage • Unanticipated architectural compositions • Multi-project components and integrations • OSSD teams use 10-50 OSSD tools to support their development work

  5. Critical OSSD Success Factors • Operational code early and often--actively improved and continuously adapted • Post-facto software system requirements and design • OSSD is not Software Engineering • OSSD has its own “ilities” which differ from those for SE • Caution: the vast majority of OSSD projects fail to grow or to produce a beta release.

  6. Service-Oriented Middleware Architectures • Exchangable data representations and definitional forms (HTML, SVG, ebXML, etc.) • Service component Application Program Interfaces (APIs) • Application Specific Protocols (Data exchange and process invocation) • Application domain processes (Business processes—logistics—expressed in WSDL)

  7. Information Assurance and Security in OSS • Closed versus Open Source—which is more secure? • Empirical question, not a technical or theoretical result • NSA has developed and certified Secure Linux (SELinux) • USNavy (SPAWAR) has been deploying SELinux in the Fleet • Darpa has invested in OpenBSD as its secure (plus encryption) operating system of choice

  8. OSSD supporting DoD/Federal Agencies • Dept. of Defense puts Open Source on a level playing field with proprietary software -DoD issues guidance for using OSS at DoD • MITRE Report - Use of Free and Open Source Software in the US Dept. of Defense - Report prepared by MITRE Corporation for Defense Information Systems Agency (DISA) • Developing An Open Source Option for NASA Software • Mission-Critical Development with Open Source—Lessons Learned (OSSD Case Study at JPL) • See www.egovos.org

  9. Govt and Industry Adoption of OSSD • Large corporations/enterprises: • IBM-Eclipse, Sun-NetBeans and OpenOffice, HP-Gelato, Apple-Darwin, Microsoft Research-Rotor, etc. • Barclays Global Investors, DKW, Merrill Lynch, etc. • DoD, DoE, NSF, NIH, NASA, etc. • MIT, Stanford, CMU, UC, UMichigan, etc. • Mid-size corporations: • RedHat, Novell, Borland • Small (start-up) companies: • ActiveState (now part of Sophos), Collab.Net, Jabber, Ximian (now part of Novell), JBoss, Compiere, etc.

  10. Very Large-Scale Software Engineering • Architectural specification (system, services (data, protocols, processes), team/organization. • Configuration management and version control • Process automation—builds, regression tests, etc. • Reliance on informalisms for development

  11. Very Large-Scale Software Engineering • Information density vs. knowledge coverage • VLSEE needs for ASB to consider: • Test-beds for full-size system mock-ups (probably built from OSS and Computer Game components) • Visualization aids—architecture, configuration, socio-technical networks • Empirical knowledge about existing VLSEE practices for both OSS and CSS • Computer-supported cooperative organizational learning environments (CSCOLE) supporting long-term organizational transformation.

  12. VLSSE Processes • Configuration management and version control • Architectural specification and maintenance • Collaboration, leadership, control and conflict management • Community development and support • Software source code and artifact data mining

  13. OSSD/SE Processes Accommodating New H/W • New H/W being developed to support computer games and grid-based computing clusters using (massively scalable) cell/multi-core processors • Future Army training games should be capable of modeling, simulating, and dynamically reconfiguring “modular brigades” with high visual and operational realism in alternative engagement scenarios • Games and grids increasingly depend on OSSD methods and technologies • “Globus” grid middleware is OSS • Support for OSS game development capabilities now packaged with many successful computer games sold retail • DoD/Navy investing in development of Delta3D OSS game engine (www.delta3d.org)

  14. OSSD/SE Processes Accommodating New H/W • Enable/subsidize the OSS Game and Grid Development communities to lead the way, and to contribute to sustaining the effort. • Example: Engage contractor to setup a “Corporate sponsored” OSS Game Grid project to develop and evolve a massively multi-player online game environment for “playing” real-time strategy games using modular brigades.

  15. Recommendations for ASB • Need to acquire knowledge about development processes, work practices, community dynamics, and system configuration management techniques employed in large-scale (500K-5M SLOC) and very large-scale (>5M SLOC) OSSD projects. • Focused, in-depth, and comparative case studies • Producing shareable, reusable, redeployable knowledge assets

  16. Recommendations for ASB • Need to acquire knowledge of the (modular) architectures of the software systems, development teams, and user communities found in very large OSSD projects. • Architectures are socio-technical interaction networks. • Need knowledge for how to model, visualize, analyze, simulate, and enact OSSD project architectures, and their continuous evolution

  17. Recommendations for ASB • Need to acquire knowledge for how best to adaptively configure modular force architectures for: • Software systems • Developer and User teams • Supporting contractors • Remote contributors (e.g., OSS community contributors)

  18. Acknowledgements • Project collaborators: • Darren Atkinson, Santa Clara University • Mark Ackerman, University of Michigan, Ann Arbor • Les Gasser, University Illinois, Urbana-Champaign • John Noll, Santa Clara University • Chris Jensen and Margaret Elliott and others at UCI-ISR • Funding support (no endorsement implied): • National Science Foundation #0083075, #0205679, #0205724, and #0350754.

More Related