• DocumentCode
    2706078
  • Title

    Software architecture in an open source world

  • Author

    Fielding, Roy T.

  • Author_Institution
    Day Software, Irvine, CA, USA
  • fYear
    2005
  • fDate
    15-21 May 2005
  • Firstpage
    43
  • Abstract
    Summary form only given. In spite of the hype and hysteria surrounding open source software development, there is very little that can be said of open source in general. Open source projects range in scope from the miniscule, such as the thousands of non-maintained code dumps left behind at the end of class projects, dissertations, and failed commercial ventures, to the truly international, with thousands of developers collaborating, directly or indirectly, on a common platform. One characteristic that is shared by the largest and most successful open source projects, however, is a software architecture designed to promote anarchic collaboration through extensions while at the same time preserving centralized control over the interfaces. This paper features a survey of the state-of-the-practice in open source development in regards to software architecture, with particular emphasis on the modular extensibility interfaces within several of the most successful projects, including Apache httpd, Eclipse, Mozilla Firefox, Linux kernel, and the World Wide Web (which few people recognize as an open source project in itself). These projects fall under the general category of collaborative open source software development, which emphasizes community aspects of software engineering in order to compensate for the often-volunteer nature of core developers and take advantage of the scalability obtainable through Internet-based virtual organizations.
  • Keywords
    Internet; Linux; online front-ends; operating system kernels; public domain software; software architecture; Apache httpd; Eclipse; Internet-based virtual organizations; Linux kernel; Mozilla Firefox; World Wide Web; collaborative open source software development; modular extensibility interfaces; software architecture; software engineering; Centralized control; Collaborative software; International collaboration; Kernel; Linux; Open source software; Software architecture; Software design; Software engineering; Web sites;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering, 2005. ICSE 2005. Proceedings. 27th International Conference on
  • Print_ISBN
    1-59593-963-2
  • Type

    conf

  • DOI
    10.1109/ICSE.2005.1553541
  • Filename
    1553541