Tw O Years in the Trenches

Tw O Years in the Trenches

Tw o years in the trenches The evolution of a software project Greg``groggy''Lehey FreeBSD Project [email protected] [email protected] Melbourne, 4 September 2002 Tw o years in the trenches 1GregLehey, 4 September 2002 The three ages of UNIX UNIX® is nowathird of a century old. It evolved in three phases of roughly 11 years each: • 1969—1980: a research project, little known outside AT&T except at some universities. • 1980—1991: UNIX developed into a commercial operating system (UNIX System V,XENIX, SunOS, Ultrix and friends). • 1991—2002: Free UNIX gained momentum. Tw o years in the trenches 2GregLehey, 4 September 2002 Free software, first cut • Free software has been around since software was invented. • Until the late 60s, software ran only on specific machines. Piracywas impractical. • IBM/360 changed that: other companies built clones. • IBM unbundled software. • Vendors came to consider their software to be valuable intel- lectual property. Tw o years in the trenches 3GregLehey, 4 September 2002 Free software, cut • By 1980, most software cost money. • Access to source code, evenwith a license, became increas- ingly difficult. • Universities were an exception. • One of the reasons for the foundation of the Free Software Foundation. Tw o years in the trenches 4GregLehey, 4 September 2002 Free software, second cut • In the late 70s, computers became affordable for individuals. • Affordable computers were still inadequate for UNIX. • Much free and ‘‘shareware’’software developed for CP/M, Apple and Microsoft. • UNIX became practicable with the Intel 80386 processor in the late 80s. • At the same time, Internet access became widespread. • Free software projects started independently of FSF. Tw o years in the trenches 5GregLehey, 4 September 2002 Free UNIX: the beginnings • In 1979, Electrolabs brought out ‘‘OS-2’’, a UNIX-lookalike on Z-80 under CP/M. • In the early 1980s, Mark Williams ported Coherent to the IBM PC. • Andy Tanenbaum’sMinix ran on the IBM PC, amongst oth- ers. • None were successful: too expensive,too slow, too unreli- able (no memory protection). Tw o years in the trenches 6GregLehey, 4 September 2002 The breakthrough • The Intel 80386 became the standard PC processor in the early 90s. • Astudent in Finland announced his toyOSproject: ‘‘just a hobby,won’tbebig and professional likegnu’’. • In Berkeley, Bill Jolitz worked to free BSD from the last traces of AT&T code. • The Internet enabled others to join in the fun. Tw o years in the trenches 7GregLehey, 4 September 2002 Motivations • ‘‘Freedom’’was not an important motivation. • Main motivation was to hack. • Free Software Foundation was a source of code, not initially an inspiration. Tw o years in the trenches 8GregLehey, 4 September 2002 Semblances of organization • Multiple players require some kind of organization. • In BSD, those who hacked most became part of the ‘‘core team’’or‘‘core group’’ • No attempt at fairness. ‘‘This is our game, this is the way we play it’’. • Teams still pretty small: in 1995, FreeBSD had had a total of 55 contributors. • Some contributors neverknewthat theyhad contributed. Tw o years in the trenches 9GregLehey, 4 September 2002 Growth and stability • By mid-1990s, project aims had changed. • BSDs were stable enough for commercial use on the Inter- net. • Commercial BSD/386 suffered as a result. • Linux took a little longer to become stable, since written from scratch. • The people didn’tchange (much). • The number of people involved did change. • The general public started to become aware of free UNIX. Tw o years in the trenches 10 GregLehey, 4 September 2002 Free operating systems takeover • In the late 90s, free operating systems became evenbetter known. • Companies were formed to ‘‘market’’free operating sys- tems, especially Linux. • (Groggy shows his scars) • Projects became evenlarger. • The people stayed the same. • The FreeBSD project nowhas 320 commit- ters, some of them inactive. Tw o years in the trenches 11 GregLehey, 4 September 2002 Social changes in the FreeBSD project • By 2000, the core team was no longer the most active group of committers. • Some core team members completely inactive. • Project direction not as well defined. • Position of chief architect vacant. • No defined way to be retired from the core team. Tw o years in the trenches 12 GregLehey, 4 September 2002 Changes in project focus • In the early days, functionality was the prime issue. • Later stability became more important. • After achieving stability,performance became important. • Issues became more global. • Forexample, SMP project touches the entire kernel. • More global issues require better project coordination. Tw o years in the trenches 13 GregLehey, 4 September 2002 User friendliness • Project lead by developers. • End users not directly represented. • End user focus provided by Walnut Creek CDROM, but not strongly. Tw o years in the trenches 14 GregLehey, 4 September 2002 View ofcore team • Power vacuum. • Some developers took advantage of the situation for their ownpurposes. • One of them was a member of the core team. • Accusations of favoritism were made. • Core team had adopted a policyofsilence. Tw o years in the trenches 15 GregLehey, 4 September 2002 Developer’sviewofthe problem In November 1999, Nate Williams wrote: • What is the purpose of core? What determines if someone should become a core member? • Is there anyway to lose your core member status, in the same manner that you can lose the ability to be considered a maintainer? • Do you have toquit in order to not become a core member? Tw o years in the trenches 16 GregLehey, 4 September 2002 Developer’sviewofthe problem (2) • My biggest fear is that we will lose active dev elopers simply because we just plod along hoping that everything will work out. • Once upon a time, core members were folks were really ex- cited and highly motivated to work on this thing, and would spend nights/weekends and all sorts of time on this. • Core is nowolder,and our real livesget in the way now. Tw o years in the trenches 17 GregLehey, 4 September 2002 The crisis • In early 2000, the problem reached crisis proportions. • Aprominent developer threatened to leave the project be- cause the rogue core team member was trampling overhis work. • Developer 1 asked core to makeastatement. • Nothing happened. • Jordan Hubbard summarized the current state with historic background. Tw o years in the trenches 18 GregLehey, 4 September 2002 jkh’s viewofthe problem • First there was a simple mail alias freebsd-core to al- low‘‘project insiders’’tocommunicate with one another. • Over time, core morphed into a combined working group and ‘‘mark of recognition’’committee. • Once public perception and general committer desire took overand basically turned it into a management and steering committee, despite the fact that core had nevershowed itself to be very effective atdoing either job. Tw o years in the trenches 19 GregLehey, 4 September 2002 jkh’s viewofthe problem (2) • Ithink that core’stime actually ‘‘passed’’some months back, but we don’twant to admit it. • Core should be broken up likeAT&T,sotospeak, and be- come smaller operating groups who actually have clear and limited mandates. • Much discussion ensued. Suggestions included complete anarchyand an elected core team. • jkh suggested a number of modi for reform- ing core, called for a vote. Tw o years in the trenches 20 GregLehey, 4 September 2002 Reforming core • The idea of core is fine, its membership simply needs a shake-up and some mechanism added for voting in new blood. (58 votes) • The idea of core is fine, but some of members need to leave. (12 votes), most of which identified one specific member. • Core needs to be broken up into an oversight/human re- sources group, leaving architectural decisions to developers. (9 votes) • Don’tchange anything, core is fine the way it is. (7 votes) • Disband core entirely and let committers cre- ate a newstructure in its place. (7 votes) Tw o years in the trenches 21 GregLehey, 4 September 2002 Electing the newcore team More discussions: • What should the newcore team look like? • Who is eligible to be a member of core? • Who is eligible to vote? • Howshould we vote? • Jonathan Lemon, Warner Losh and Wes Peters formed a team to decide on answers. Tw o years in the trenches 22 GregLehey, 4 September 2002 Bylaws • Active committers have made a commit to the tree in the last 12 months. • Core consists of 9 elected active committers. • Core elections are held every 2 years, first time September 2000. • Core members and committers may be ejected by a 2/3 vote of core. • If the size of core falls below7,anearly elec- tion is held. • Apetition of 1/3 of active committers can trigger an early election. Tw o years in the trenches 23 GregLehey, 4 September 2002 Holding elections Elections will be run as follows: • Core appoints and announces someone to run the election. • 1week to tally active committers wishing to run for core. • 4weeks for the actual vote • 1week to tally and post the results. • Each active committer may vote once in support of up to nine nominees. Tw o years in the trenches 24 GregLehey, 4 September 2002 Holding elections • Newcore team becomes effective 1 week after the results are posted. • Voting ties decided by unambiguously elected newcore members. • These rules can be changed by a 2/3 majority of committers if at least 50% of active committers cast their vote. • These ‘‘bylaws’’passed by 117 yes votes to 5 no votes, thus also disproving the concern that committers wouldn’tbeinterested enough to vote for the core team. Tw o years in the trenches 25 GregLehey, 4 September 2002 The results The election completed in time for the second BSDCon in Monterey.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    49 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us