Hyödyt ja haitat avoimen lähdekoodin ohjelmistokehitykselle

On korkea aika antaa takaisin ihmisille, jotka antavat sinun käyttää Internetiä!

Monet kehittäjät pitävät avoimen lähdekoodin projekteista ja hyvästä syystä: he käyttävät niitä päivittäin työnsä nopeuttamiseksi. On olemassa paljon onnistuneita esimerkkejä avoimen lähdekoodin ohjelmistoratkaisuista, kuten Linux (käyttöjärjestelmä) tai React (JavaScript-kirjasto). Nämä ratkaisut ovat usein hyvin muotoiltuja, ja on ilo työskennellä tällaisen korkealaatuisen koodin kanssa.

Joten katsotaanpa tarkemmin, mitä avoimen lähdekoodin tarkoittaa ja mitä etuja ja haittoja on työskennellä avoimen lähdekoodin projektien kanssa.

Mikä on avoimen lähdekoodin?

Termi "avoimen lähdekoodin" otettiin käyttöön ohjelmistokehitysteollisuudessa, ja se viittaa johonkin, mitä kuka tahansa voi tarkastaa, muokata ja jakaa. Se edustaa erityistä lähestymistapaa tietokoneohjelmien luomiseen, jossa kunnioitetaan yhteistyön, avoimuuden ja yhteisökeskeisen kehityksen arvoja.

Kehittäjät ja kehittäjät kirjoittavat avoimen lähdekoodin.

Suojellakseen kaikkia avoimeen lähdekoodiin osallistuvia osapuolia projektin omistaja voi käyttää Creative Commons -lisenssiä. Creative Commons (CC) -lisenssin avulla jokainen voi jakaa, käyttää ja rakentaa työtäsi.

Avoimen lähdekoodin ohjelmisto on yleensä ilmainen ohjelmistotuote, jossa kehittäjillä on pääsy lähdekoodiin. Ne voivat parantaa ohjelman suorituskykyä, lisätä joitain ominaisuuksia ja korjata virheitä. Joitakin esimerkkejä tällaisista ohjelmistoista ovat LibreOffice, Mozilla Firefox ja Chromium.

Sitä vastoin on oma ohjelmisto , jota kutsutaan myös "suljetun lähdekoodin ohjelmistoksi". Ainoastaan ​​sen omistajat voivat tarkastaa tai muuttaa tällaisen ohjelman lähdekoodia. Joitakin esimerkkejä omistetuista ohjelmistoista ovat joitain Microsoftin, Adoben tai Applen tuotteita.

Jotkut yritykset pitävät avoimen lähdekoodin ohjelmistoja normina, kun taas toiset mieluummin kehittävät suljetun lähdekoodin ohjelmistoja. Ja varmasti, avoimen lähdekoodin mallilla on hyvät ja huonot puolensa.

Mikä on hienoa avoimen lähdekoodin ohjelmistojen kehittämisessä?

avoimen lähdekoodin edut

Henkilökohtaiset edut

Jos sanon, että avoimen lähdekoodin kehittäjiä ohjaa altruismi ja halu auttaa muita, monet tämän artikkelin lukevat ihmiset voivat hymyillä epäuskoisesti. Mutta tämä sisäinen motivaatio on ensisijainen syy useimpien ihmisten työskentelyyn avoimen lähdekoodin projekteissa.

Älä aliarvioi henkilökohtaisten hyötyjen tärkeyttä - näitä tunteita olla avulias ja itsetehokas.

Yhteisön tunnustaminen

Tutkijat ja lääkärit jakavat kokemuksensa kirjoittamalla tieteellisiä artikkeleita ja osallistumalla tieteellisiin konferensseihin. UI / UX-suunnittelijat jakavat kokemuksensa Behance- tai Dribbble-toiminnoista. Kirjailijat painavat kirjojaan tai jakavat niitä online-alustojen kautta. Muusikot ja elokuvantekijät jakavat työnsä maailman kanssa erilaisten suoratoistopalvelujen kautta. Miksi ohjelmistokehittäjät olisivat erilaiset ja haluavat menettää mahdollisuuden saada tunnustusta?

Kun työskentelet tai suoritat avoimen lähdekoodin projekteja, voit saada tunnustusta kehittäjäyhteisöltä monin tavoin, kuten luomalla upea GitHub-profiili ja osallistumalla Hacktoberfestin kaltaisiin tapahtumiin.

Saatat myös saada alennuksia, ilmaisen sisäänpääsyn tapahtumiin ja hyvin kehittyneen infrastruktuurin projektien toteuttamiseen. Avoimen lähdekoodin projektien tekeminen säästää rahaa, mutta myös innostaa sinua käyttämään kaikkia parhaita käytettävissä olevia työkaluja omissa projekteissasi.

Tässä muutama Lviv Hacktoberfestin osallistuja.

Itsemainostus

Jos sinä tai yrityksesi osallistut aktiivisesti avoimen lähdekoodin yhteisöön, voit ansaita suuren maineen. Tällä tavalla, jos olet yksityinen tai itsenäinen kehittäjä, on helpompaa löytää työpaikka freelancerina tai kokopäiväisenä työntekijänä. Jos edustat ohjelmistokehitysyritystä, sinun on helpompi löytää sinulle halukkaita työskentelemään, yhteistyökumppaneita ja asiakkaita, jotka haluavat pyytää ammattilaispalveluitasi.

Siksi avoimen lähdekoodin ohjelmistojen kehittäminen luo täydellisen mainosmahdollisuuden - win-win-tilanne sekä kehittäjille että kehitysvirastoille.

Arvotaju

Totuutta ei tarvitse piilottaa: työpaikkojen palaminen vaivaa kehittäjien työtä ja ohjelmistotoimittajien HR-strategioita. Jos olet yrityksen omistaja, motivoimalla työntekijöitä osallistumaan avoimen lähdekoodin kehittämiseen osoitat heille, että heidän työstään on arvoa. He työskentelevät paitsi kaupallisissa projekteissasi myös tuottavat arvoa laajemmalle kehittäjäyhteisölle työskentelemällä avoimen lähdekoodin projekteissa.

Auttamalla kehittäjiäsi saavuttamaan nämä tarkoituksen ja arvon tunteet, pidät heidät kiinnostuneina työskentelemästä kanssasi.

Sama pätee, jos olet itsenäinen kehittäjä. Avoimen lähdekoodin ohjelmistokehitykseen osallistuminen tekee työstäsi mielekästä, etkä tule vihaamaan sitä ajan myötä.

Ohjelmiston laatu

Avoin lähdekoodi on usein korkealaatuisempi. Kehittäjäryhmän luoma ohjelmisto voi olla huonolaatuisempi kuin tuhansien kehittäjien ympäri maailmaa, joilla on kokemusta erilaisista tekniikoista, teollisuudesta ja projekteista. Ja avoimen lähdekoodin ohjelmistojen virheet tunnistetaan hyvin nopeasti, kun useat kehittäjät tarkistavat koodia jatkuvasti.

Jopa yhden kehittäjän kirjoittama koodi on usein korkealaatuisempi, jos se on avointa. Jos kirjoitat koodin, jonka vain sinä tai läheiset kollegasi näkevät, et ehkä välitä paljoakaan koodityylistä. Mutta jos kirjoitat koodin, jonka kaikki näkevät, teet kaiken mitä voit, jotta et näyttäisi koodiapinnalta. Arviot, kommentit ja yhteisön uudelleen tekeminen ovat kaikki hyödyllisiä tässä.

Tietoturva

Käytä sovellusten kehittämiseen avoimen lähdekoodin ohjelmistoja, koska ne ovat turvallisempia. Yhteisö etsii ja ilmoittaa nopeasti tietoturva-aukkoja, jotka ohjelmiston omistaja yleensä korjaa heti.

Jos valmistajan ohjelmistotuotteessa on tietoturva-aukko, kukaan ei kuitenkaan tiedä, ennen kuin joku joutuu sen aiheuttaman uhan uhriksi.

Avoimet tuotteet eivät myöskään voi väärinkäyttää ja väärinkäyttää käyttäjien tietoja tahallaan, kuten jotkut omistamat ohjelmistoyritykset tekevät. Yhteisö havaitsee tämän väärinkäytön, ja ohjelmiston ja sen omistajan maine pilataan.

Mukauttaminen

Avoimen lähdekoodin ohjelmistojen kehittäminen tarkoittaa yleensä sitä, että kehität helposti muokattavia ohjelmistoja. Koska lähdekoodi on auki, kehittäjä voi helposti lisätä muutoksia käyttöliittymän toimintoihin.

Esimerkiksi Apache CloudStack on avoimen lähdekoodin ohjelmisto, joka helpottaa pilvipalveluja. Toinen esimerkki on avoin lähdealusta Botpress, jonka avulla kehittäjät voivat helposti luoda mukautettuja chat-robotteja. KeenEthicsin kehittäjät, jotka ovat Botpress-avustajia, ovat iloisia, kun he voivat tehdä jonkun muun elämän yksinkertaisemmaksi.

Avoin lähdekoodi on kokemusten hankkiminen ja jakaminen. Joskus huomaat, että avoimen lähdekoodin ohjelmistoprojektista puuttuu jotain ja täytät tämän aukon lähettämällä koodisi. Muina aikoina ymmärrät, että voisit tehdä jotain parempaa. Avoin lähdekoodi auttaa sinua käsittelemään ikävystymistä ja ansaitsemaan tunnustusta vertaisilta.

Sergey Gornostaev

Mikä ei ole hienoa avoimen lähdekoodin ohjelmistojen kehittämisessä?

avoimen lähdekoodin haittoja

Väärä viestintä ja väärinkäsitykset

Voit odottaa pyyntöjä tuotteen parantamiseksi tai auttamiseksi jossakin, mutta sinun on ehkä käsiteltävä erilaisia ​​ihmisiä. Jotkut saattavat odottaa sinun vastaavan heidän pyyntöihinsä 24/7. Toiset saattavat avata PR-tuotteita parantamaan tuotetta, mutta sinun on selitettävä säännöt siitä, miten asiat tulisi valmistaa ja miten ne sulautuvat päälinjaan.

Loppujen lopuksi ei ole mitään takeita siitä, että yhteisön rahoitusosuudet eivät osoittautuisi huonolaatuisemmiksi. Siksi on suuri mahdollisuus, että päätät muuttaa jonkun koodia ja jättää ihmiset pettyneiksi, koska et sulauta heidän muutoksiaan.

Uhka ydinliiketoiminnan arvoon

Älä koskaan avaa mitään lähdekoodia, jolla on yrityksellesi ydinarvo. Jos yrityksessä on liikesalaisuus - idea tai sen toteuttamistapa, joka tekee yrityksestäsi ainutlaatuisen, sinun ei pitäisi avointa lähdekoodia, jotta se ei tule kilpailijoiden saataville. Silti, jos sinulla on ideoita ja työkaluja, joita yleisö voi käyttää yrityksellesi kärsimättä - avaa lähdekoodit.

Miksi avoimen lähdekoodin tekeminen on oikea asia

Jos olet Internet-käyttäjä (ja olet varmasti), käytät väistämättä uskomattoman paljon avoimen lähdekoodin ohjelmistoa. Internetin keksijät suunnittelivat suuren osan siitä avoimen lähdekoodin projekteina, ja kuka tahansa, joka käyttää sitä tänään, saa aikaan työnsä hedelmät. Esimerkiksi pilvipalvelut perustuvat suurelta osin avoimen lähdekoodin tietoihin.

Lisäksi Tideliftin ja The New Stack -tutkimuksen mukaan 84 prosenttia ohjelmistokehittäjistä käyttää avointa lähdekoodia ammatillisessa rutiinissaan. Käyttämällä jonkun muun kokemusta ja tietoa, miksi et jaa omasi?

Jos nautimme avoimen lähdekoodin eduista, palauttaminen yhteisölle on oikea asia.

Osallistu avoimen lähdekoodin kehittämiseen!

Kuinka aloittaa? Avaa GitHub-arkistosi yleisölle ja kerro siitä maailmalle blogisi, sosiaalisen median tai kehittäjäfoorumien kautta. Rekisteröidy Hacker News -sivustoon, koska siellä on paljon avoimen lähdekoodin kirjoittajia.

Avoin hankinta saa sinut kasvamaan nopeammin kehittäjänä ja tuo hyödyllisen tuloksen koko yhteisölle. Samaan aikaan, sinun tulee yrittää olla vahingoittamatta yhteisöä, joka antaa sinulle kaikki nämä upeat avoimen lähdekoodin asiat. Osallistu viisaasti ja auta muita vastaamalla kysymyksiin, joista voit auttaa.

Onko sinulla idea projektista?

Yritykselläni KeenEthicsillä on paljon kokemusta avoimen lähdekoodin verkkokehityksestä ja mobiilisovellusten kehittämisestä. Jos olet valmis vaihtamaan peliä ja aloittamaan projektisi, ota rohkeasti yhteyttä .

Jos olet nauttinut artikkelista, sinun kannattaa lukea toinen artikkeli: Ketterä testaus: Kuinka varmistaa korkealaatuinen ohjelmisto.

PS

Haluan myös kiittää Alex Pletnovia, CTO @ KeenEthics, inspiroivasta ja osallistumisesta artikkeliin.

Alkuperäinen KeenEthics-blogiin julkaistu artikkeli löytyy täältä: Mikä on hienoa avoimen lähdekoodin kehittämisessä ja mikä ei?