Prev
Katedrāle un tirgus: Vēl dažas mācības no fetchmail
Next
Katedrāle un tirgus: Atvērtā koda programmatūras sociālie faktori

Nepieciešamie tirgus izstrādes priekšnosacījumi

Agrākie šīs esejas lasītāji un testētāji nepārtraukti uzdeva jautājumu, kādi ir nepieciešamie priekšnosacījumi izstrādei tirgus stilā, ieskaitot gan projekta līdera kvalifikāciju, gan koda kvalitāti, kad tas kļūst publisks, un kas nepieciešams, lai sāktu veidot līdzizstrādātāju kopienu.

Tas ir pilnīgi skaidrs, ka nav iespējams sākt rakstīt no nulles tirgus stilā (IN). Ir iespējams testēt, atkļūdot un uzlabot tirgus stilā, bet būtu ļoti grūti radīt projektu tirgus stilā. Linus to nemēģināja darīt. Un es vēl jo vairāk ne. Jūsu topošajai izstrādātāju kopienai ir nepieciešams kaut kas, ko var palaist un ko var testēt.

Kad jūs uzsākat kopienas izveidi, jums nepieciešams dot ticamus solījumus. Jūsu programmai nav jāstrādā ļoti labi. Tā var būt jēla, kļūdaina, negatava, nepabeigta, un slikti dokumentēta. Bet tā:

  1. nedrīkst pārstāt darboties,
  2. tai jāpārliecina potenciālos līdzizstrādātājus, ka tā var kļūt par kaut ko patiešām labu pārskatāmā nākotnē.

Gan Linux, gan fetchmail kļuva publiski ar spēcīgu un pievilcīgu pamatdizainu. Tāpēc daudzi cilvēki domājot par tirgus modeli, tāpat kā es, uzskata to par kritisku, un nonāk pie slēdziena, ka projekta līderim laba dizaina intuīcija ir ļoti nepieciešama.

Bet Linuss pārņēma dizainu no Unix. Es sākotnējo dizainu saņēmu mantojumā no popclient (lai gan es vēlāk tā dizainu izmainīju daudz pamatīgāk, kā proporcionāli tas tika mainīts Linux). Tātad, vai tirgus stila līderim/koordinatoram tik tiešām jābūt izcila dizainera talantam, vai tas var izmantot citu dizaina talantu?

Es domāju, koordinatoram nav svarīgi būt izcilam dizainerim, bet ir absolūti nepieciešams, lai koordinators spētu atšķirt labas dizaina idejas no sliktām.

To ir pierādījuši gan Linux, gan fetchmail projekti. Linuss, lai arī nav (kā iepriekšminēts) iespaidīgi oriģināls dizaineris, ir parādījis pamatīgu krampi labu dizaina ideju ieraudzīšana un to ieviešanā Linux kodolā. Un es jau esmu aprakstījis, kā vienīgā pamatīgā dizaina ideja fetchmail (SMTP pārsūtīšana) man pienāca no kāda cita.

Agrākie šīs esejas lasītāji man glaimoja, ka es pārāk zemu novērtēju tirgus stila projektu oriģinalitāti tāpēc, ka es pats tajos esmu pamatīgi iekšā, un uzskatu to par pašsaprotamu. Varbūt tur ir kāda daļa taisnības — dizains (iepretim kodēšanai un atkļūdošanai) noteikti ir mana labākā prasme.

Galvenā nelaime ir tā, ka būt gudram un oriģinālam programmu dizainā kļūst par paradumu — jūs nemanot sākat darīt lietas gudri un sarežģīti, tā vietā, lai saglabātu tās vienkāršas un robustas. Man ir bijuši neveiksmīgi projekti tāpēc, ka es pieļāvu šo kļūdu, bet fetchmail projektā es darīju visu, lai tā nenotiktu.

Es domāju, fetchmail projekts bija veiksmīgs daļēji tāpēc, ka es pārvarēju savu slieksmi būt gudram — tas (vismaz) ir pretarguments, ka  tirgus stila projektam nepieciešams oriģināls dizains. Un, piemēram, Linux — ja Linuss Torvalds būtu uzsācis ieviest fundamentālus jaunievedumus operētājsistēmas dizainā, vai gan tādā gadījumā izveidotais kodols būtu tik veiksmīgs un stabils kā tas ir tagad? 1

Zināmas dizaina un kodēšanas iemaņas, protams, ir vajadzīgas, bet es domāju, praktiski jebkuram, kas nopietni domā par tirgus stilu, ir šo zināšanu minimums. Atvērtā koda kopienas iekšējais reputācijas tirgus nemanāmi izspiež cilvēkus, kas nav pietiekami lietpratīgi, lai spētu turpināt. Līdz šim tas ir darbojies pietiekami labi.

Pēc manām domām tirgus stila projektos ļoti svarīga ir vēl viena prasme, kas parasti nav saistīta ar programmatūras izstrādi, un varbūt tā ir pat vēl svarīgāka par gudrību dizainā. Tirgus stila projekta koordinatoram jābūt labām sadarbības spējām ar cilvēkiem.

Varbūt tas ir acīmredzami. Lai jūs izveidotu izstrādes kopienu, jums ir jāsavaldzina cilvēki un jāieinteresē tajā, ko jūs darāt, un jābūt apmierinātam par to darbu, ko viņi dara. Tehniskie smalkumi nāks daudz vēlāk pēc tam, bet tā ir maza daļa no visa kopuma. Arī jūsu individualitāte projektā ir svarīga.

Tā nav nejaušība, ka Linuss ir lāga zēns, kas iepatīkas cilvēkiem, un tāpēc cilvēki viņam palīdz. Tā nav nejaušība, ka es esmu enerģisks ekstraverts, kam  patīk strādāt pūlī, un kam ir spējas un instinkts izskatīties komiski. Lai tirgus modelis strādātu, jūsu spēja apburt cilvēkus noteikti palīdz.

Prev
Katedrāle un tirgus: Vēl dažas mācības no fetchmail
Next
Katedrāle un tirgus: Atvērtā koda programmatūras sociālie faktori
  1. ^ Endrjū Tanenbauma Minix, patiesībā bija 'stilīgāks' mikrokodola dizains. Pārrakstot Minix par Linux, Linuss Torvalds no tā atteicās, ieviešot monolītu (bet modulāru) dizainu, kā tas ir vairumam operētājsistēmu. Arī Ričarda Stallmana GNU Hurd mikrokodols pagaidām nav ieguvis lielu popularitāti, tāpēc vairums izmanto GNU rīkus ar Linux kodolu.

Created by Valdis Vītoliņš on 2008-11-21 10:05
Last modified by Valdis Vītoliņš on 2021-04-13 14:28
 
Xwiki Powered
Creative Commons Attribution 3.0 Unported License