16
Open Source Software Architecture and Design By John Rouda

Open Source Software Architecture and Design By John Rouda

Embed Size (px)

Citation preview

Page 1: Open Source Software Architecture and Design By John Rouda

Open Source Software Architecture and Design

By John Rouda

Page 2: Open Source Software Architecture and Design By John Rouda

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

Page 3: Open Source Software Architecture and Design By John Rouda

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

Page 4: Open Source Software Architecture and Design By John Rouda

Foxtrot

Page 5: Open Source Software Architecture and Design By John Rouda

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

Page 6: Open Source Software Architecture and Design By John Rouda

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

Page 7: Open Source Software Architecture and Design By John Rouda

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

Page 8: Open Source Software Architecture and Design By John Rouda

Bazaar Model

Loosely managed Source code is available all the time Faster releases More initial bugs Faster bug fixes Example – Original Linux

Page 9: Open Source Software Architecture and Design By John Rouda

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.

Page 10: Open Source Software Architecture and Design By John Rouda

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

Page 11: Open Source Software Architecture and Design By John Rouda

Who Makes OSS?

IBM Red Hat SuSe Apple SGI Sun Microsystems Google

http://images.google.com

Page 12: Open Source Software Architecture and Design By John Rouda

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

Page 13: Open Source Software Architecture and Design By John Rouda

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

Page 14: Open Source Software Architecture and Design By John Rouda

Dilbert

Page 15: Open Source Software Architecture and Design By John Rouda

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

Page 16: Open Source Software Architecture and Design By John Rouda

Questions?