290 likes | 403 Views
This work explores the intricacies of open source software development, detailing the principles and practices that contribute to successful projects. It emphasizes user co-development, early releases, and a culture of collaboration. Key figures like Jim Hall and projects like FreeDOS and GNU are highlighted, showcasing diverse methodologies. The text contrasts open source with free software, explaining their interconnectedness while advocating for thoughtful contributions. Whether you are a developer, user, or simply curious, this guide offers invaluable insights into the collaborative world of open source.
E N D
Building the BazaarOpen Source Software Development Jim Hall
Who am I? • The FreeDOS Project • GNU Robots
Who am I? • GNU Emacs (Apollo) • Freemacs (contributor) • DOS-UNIX utilities
Who am I? • University of Minnesota • Central Computing • Advanced Labs
The Model • Building the Cathedral • Carefully crafted • Individual wizards • Small bands of mages • Splendid isolation • No version before its time
The Model • Building the Bazaar • Different agendas • Results in coherent system • Succession of small miracles • Over time
Open Source • Open Source ≠ Free Software • Free Software = Open Source • Methodology v. theology
Free Software Open Source
Open Source • Open Source = Source code • Free Software = Freedom • “Free as in speech, not as in beer”
Open Source • What makes a good Open Source project?
Projects • Start by finding a problem that interests you • First alone • Show promise • Others may follow
Projects • Users should be co-developers • Rapid code improvement • Debugging • “With enough eyes, all bugs are shallow” • “Mindshare”
Projects • Release early, release often • Not every release will be stable
Projects • Project coordinator / maintainer • Listens to the users • Many heads are better than one
Projects • Organization • Make it easy to find everything • Developers • Designers / Architects • Web gurus • Documentation
Projects • Documentation! • Many projects create separate group • Linux Documentation Project • FreeDOS Documentation Project
Projects • Bug tracking • Bugzilla <www.mozilla.org/bugs> • Make it easy to report bugs • Make it easy to find bugs
Projects • Bug tracking • Bugzilla <www.mozilla.org/bugs> • Make it easy to report bugs • Make it easy to find bugs
Projects • Source code • CVS <www.gnu.org/software/cvs>
Projects • Respond to submissions • Don't : “Thanks, but I was going to add that myself, anyway”
Projects • “Open Source is not a magic bullet”(jwz)
License • What makes a good license? • Choosing a license that is right for you
License • Jim's rules for Free Software • View • Modify • Share • Re-use
License • Free Software Examples • GNU GPL • GNU LGPL • InfoZip
License • Jim's rules for Open Source • View • Modify • Share • Re-use
License • Open Source examples • NPL • OpenDOS