kakulepost: kogukondlik võrguarendus
“Vali kaks vaba tarkvara projekti ja võrdle neid ajaveebis arenduse vaatenurgast.”
RED5 – Adobe flash meedia serveri vaba tarkvara alternatiiv
Red5 on avatud lähtekoodiga serveri tarkvara, mis pakub alternatiivi Adobe Meedia serveri tarkvarale (alates 2002 aastast). Adobe serveri tarkvara on väga kallis ning kuni viimaste versioonideni oli isegi litsentsi ostes lubatud kasutajate arv piiratud (litsents 1 serverile ~4000$!!!). Adobe käitus klassikalise suurkorporatsioonina – aastaid hoiti saladuses Flash playeri ja meedia serveri suhtluse protokolli ning kasutati väga vähe levinud heliprotokolli. Ostetud serverit polnud praktiliselt võimalik teiste vahenditega siduda ning puudusid alternatiivid. Adobe ei näidanud mingit soovi olukorda parandada ja selline suhtumine tekitas foorumitest ja maililistides suurt pahameelt.
2005 aastal hakati arendama vaba varalist alternatiivset tarkvara nimega Red5. Uurin seda flashi programmeerija maailmas suure muutuse toonud projekti arendusmudelit ning ajalugu.
Projekti kodulehekülg asub osflash.org lehel: Red5. Projekti lähtekoodi hoitakse google koodibaasis. Vigade halduseks on kasutusel eraldi JIRA bugtracker: Red5 JIRA ning tiimi omavaheline suhtlus käib mailinglistide ning ülesannete jagamine Red5 Basecamp portaali kaudu.

Meeskonnas on hetkel 21 liiget (Teams Listing). Kui tahad meeskonnaga liituda pead täitma ära signupi vormi (Team Signup Form) ja saatma selle ühele tiimi nimekirjas olevale projektijuhile. Vorm ise uurib sinu oskusi erinevate tehnoloogiatega, millist valdkonda soovida arendama hakata ning palju sul selleks aega töö kõrvalt jääb. Tundub personaalne ja kohe asja kallale suhtumine.
Red5 kasutab LGPL(OSI Approved) litsentsi.
Toode on otseseks konkurentsiks Adobe müügis tootega, mis on kaitstud tugeva litsentsi ja advokaatide armaadaga, siis on tihti süüdistatud Red5 projekti illegaalses arendustegevuses nagu pöördprojekteerimine (reverse engineering). Selle küsimuse vastuseks on red5 kodulehel eraldi lehekülg - Discovery through Observation, kus arutatakse mis meetoditega Adobe kinnise tootega samaväärne tarkvara loodi ning kas arendustegevuses oli midagi illegaalset või siiski mitte. Väljalõige antud leheküljest: “We simply look at unencrypted bytes captured over a public network. No software is ever decompiled. “
Natuke lisaks ka projekti ajaloost: kõik sai alguse flashi serveri kasutajate mailinglistist selle postitusega augustis 2005 aastal, kus kutsuti üles võtma osa alternatiivse serveri arenduse projektist. Vastuseid tuli palju ning paari nädalaga pandi kokku meeskond ning esimene avalik toode, mis tõesti baastingimusi täitis ilmus juba sama aasta septembris! Paar lõiku projekti ajaloost kirjeldusest, mis iseloomustavad hästi arendust: “Over a rather long msn group chat he took us through some bytes describing the basic structure of the RTMP packet headers.” … ”In fact I think it was about half an hour. It was a little bit of a shock to see it working. It really wasn’t that complicated after all.”
————————————————————————————————-
Adobe Flex SDK
Teiseks vaatan veidi teise nurga all avatud tarkvara arendust. Nimel on viimastel aastatel Adobe hakanud mõistma avatud tarkvara tähtsust ning mitmed enda tooted avanud kinniselt lähtekoodilt. Uurin ühe toote – Adobe Flex SDK arendust.
Kasutatakse vigade haldurit Jira, arendajate suhtlus käib läbi Adobe foorumi ja mailing listide.
Kasutusel on kaks litsentsi: Mozilla Public License, version 1.1 (MPL) (Flex SDK jt Adobe open source projektid)
Kinnine kood: Adobe Flex SDK license (Flash Player, AIR platvorm)
Adobe ise pakub kodulehel arenduses kaasalöömiseks neli võimalust: foorumi arutelu, vigade teatamist ja uute omaduste nõudmist JIRA bugtrackeris, tarkvara dokumentatsiooni täiendamist ning viimaks veateatele paranduse koodi saatmist. Selgelt paistab välja, et peamise arenduse teevad ära ikkagi Adobe enda palgatud arendajad.
Juhul kui ma tahaksin arenduses kaasa lüüa ja enda koodi lisada peaksin:
1) Registreerima end vigade halduse süsteemis JIRA
2) Kirjutama alla ja saatma Adobe’sse lepingu
3) Genereerima endale svn parooli, et saada read-write õigus svn versioonikontrolli
4) Leidma või tegema JIRA vigade haldusesse bugi, millele lahendust hakkan tegema.
5) Kui Adobes on minu kohta kõik õiguslik töö tehtud ilmub JIRAsse nupp “submit patch”
6) Selles vormis täidan kõik väljad ja lisan enda patch (diff) koodi ja vajutan submit.
7) Seejärel Adobe hindab minu lahendust ja *võibolla* lisab koodibaasi…
Kõik see tundub üsna büroktraatlik ning väga piiratud õiguste jagamisena. Peale koodi panustamist ei saaks end küll Flex SDK arendajaks nimetada vaid pigem Adobe vigade parandajaks.
Adobe Open Source projektist on siiski abi – näiteks vaba tarkvara projekti FlexCover kasutab täiendatud Flex SDK kompilaatorit, mida ilma Adobe avatud lähtekoodita poleks olnud võimalik kirjutada.
Mainimist väärib ka, et Adobe stimuleerib hoolega enda open-source tegevust – “For every 3 bugs that we accept and commit, we’ll purchase an Adobe-related book from your Amazon wishlist. And the first two people who have 10 bugs committed, we’re going to pay for your MAX conference registration at any of the three locations. “


