Download presentation
Presentation is loading. Please wait.
Published byPrimrose Payne Modified over 9 years ago
1
Open Source Software Architecture and Design By John Rouda
2
Overview of the Presentation Introduction What is Open Source Software (OSS) Historical Overview of OSS OSS Theories and Models Cathedral Bazaar Who makes OSS OSS Design/Development Actors Pros and Cons of OSS Conclusion
3
What is Open Source Software Open Source software (OSS) is computer software whose source code is available under a copyright license that permits users to study, change, and improve the software, and to redistribute it in modified or unmodified form. Open Source is different than Freeware, although is very similar. The term Open Source, was created in 1998 for a few reasons, one was to encourage corporate support and the other was to prevent the ambiguity of the word “Free.” http://en.wikipedia.org
4
Foxtrot
5
Historical Overview of OSS GNU – GNU’s Not Unix - 1984 FSF – Free Software Foundation GPL – GNU General Public License Open Source Initiative – 1998 (Eric Raymond) Open Source Today
6
OSS Theories and Models Cathedral Model - code is only made available between each of the developed releases and is restricted to an exclusive group of contributors during the actual development. Bazaar Model – “Release Early, Release Often…Given enough eyeballs, all bugs are shallow” - Eric Raymond
7
Cathedral Model Ridged Source-code only available during releases Similar to a closed source project Slower releases Less initial bugs Slower bug fixes Example - Emacs
8
Bazaar Model Loosely managed Source code is available all the time Faster releases More initial bugs Faster bug fixes Example – Original Linux
9
Problems with OSS Models Many OSS projects don’t fit any model. Most are created to solve a problem, and good design and architecture planning are neglected at first. OSS projects have a decentralized structure in nature so many concerns can arise: Decision-making Accountability communication Testing, etc.
10
Actors in a typical OSS project Administrator – Project Facilitator Project Manager – Manages Developers and Maintainers Developer – Write code Maintainer – Fix errors User – use the software
11
Who Makes OSS? IBM Red Hat SuSe Apple SGI Sun Microsystems Google http://images.google.com
12
Pros of OSS projects Coding, designing, testing all parallel? Since the anyone can get the source code, testing, designing new modules, and coding bug fixes and new features can be done simultaneously Developers can see the big picture In the traditional model “only a very few programmers can see the source and everybody else must blindly use an opaque block of bits” Centralized Control for a decentralized world Bringing all the pieces together for a final product. Zhao and Elbaum
13
Cons of OSS projects Very little unit testing Difficult to estimate time because contributors usually don’t keep consistent schedules. Many contributors like to work on “popular” modules but few work on other, hidden modules. Projects can become difficult to maintain very quickly. Managing volunteers is tricky to say the least Byfield - NewsForge
14
Dilbert
15
Conclusion OSS is about Freedom, not just in price, but also the ability to do what we want with the software. 2 popular models are Cathedral and Bazaar
16
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.