Sunday, November 29, 2009

13. loengu ülesanne kogukondliku tarkvaraarenduse teemadel

Seekordseks ülesandeks on valida kaks vaba tarkvara projekti ja võrrelda neid ajaveebis arenduse vaatenurgast. Valisin Mozilla Firefox ja Google Chrome brauserid.

Ilmselt üheks parimaks nn "Open Source model" tarkvara arenduse näiteks sobib Mozilla (koos brauseri Firefox ja get-involved muude projekti arendusega). Igaüks võib liituda millal vaid soovib, sest alasid, milles Mozilla abi vajab on mitmeid. Aidata võib näiteks tarkvara arendamisega, testimise, lokaliseerimisega või lausa turundamisega. Inimeste ring pole seega piiratud.

Royal Pingdom kohaselt on lausa 40% ettevõtte kõigist tegevustest tehtud just vabatahtlike poolt:

Even as Mozilla’s internal staff has grown to 250, from 15 in 2005, an army of volunteers still contributes about 40% of the company’s work, which ranges from tweaks to the programming code to designing the Firefox logo.

Seejuures on Mozilla tarkvara projektide lähtekoodid piiratud ligipääsetavusega, et kaitsta koodi terviklikkust. Igaüks ei oma kirjutusõigust koodihoidlale:

In all cases, you need to demonstrate you know what's going on, find a set of people who have adequate authority and will vouch for your competence, and complete and sign a Committer's Agreement. You'll start the process of getting access by submitting good patches and having them reviewed by the module owner and other appropriate people. When you think you have submitted patches that demonstrate the criteria above, you can begin following the directions for obtaining commit access to the source tree.

Olgu siinkohal mainitud, et Mozilla Firefoxi brauseri arendusmeeskond otsustas käesoleva aasta keskel, et bruaseri areng peab muutuma kiiremaks ja uued funktsionaalsused peaksid lõppkasutajateni jõudma kiiremini kui kunagi varem. Firefox brauseri arhitekt Vlad Vukecevic on seda kommenteerinud kui sprintidele orienteeritud arendust:

"'sprint' development," a system whereby "[Mozilla has] a bunch of projects [new features] that we assign to one or two people, who then have two to three weeks to maybe finish [it] or at least get some data on it."

Saab näha, millised huvitava muutused selles vallas siis toimuma hakkavad.

flying_browser Google Chrome põhineb vaba tarkvara projektil nimega Chromium. Seejuures on tegemist piiratud ligipääsu süsteemiga. Näiteks selleks, et saada "commiter" õigustesse (isik, kes võib koodihoidlat uuendada ja sisuliselt anda välja enda loodud koodiosi) peab ennast kõigepealt tõestama:

How do I become a committer?

In a nutshell, contribute 10-20 non-trivial patches and get at least three different people to review them (you'll need three people to support you). Then ask someone to nominate you. You're basically demonstrating your

  • commitment to the project (10+ good patches requires a lot of your valuable time),
  • ability to collaborate with the team,
  • understanding of how the team works (policies, processes for testing and code review, etc),
  • understanding of the projects' code base and coding style, and
  • ability to write good code (last but certainly not least)

Kokkuvõttes tahaksin rõhutada kahte aspekti. On ilmselgelt mõistetav, miks on arendajatel piiratud ligipääs koodihoidlale ja selle saamine seotud austuse pälvimisega teiste poolt. "tasuta lõunad" tekitavad tihtipeale neid lihtsalt mitte väärtustada ja teistpidi võib igaüks seda kurjalt ära kasutada.

Omakorda oluline tähele panna, et väga palju keskendutakse koodi ülevaatamistele (code review) ning sellest võiks ka kommertssektor omale mõtteterad välja lugeda.

0 comments:

Post a Comment