Fordele og ulemper ved open source softwareudvikling

Det er på høje tid at give tilbage til de mennesker, der gør det muligt for dig at bruge Internettet!

Mange udviklere er glade for open source-projekter, og med god grund: de bruger dem hver dag til at fremskynde deres arbejde. Der er mange succesrige eksempler på open source-softwareløsninger, såsom Linux (et operativsystem) eller React (et JavaScript-bibliotek). Disse løsninger er ofte godt udformet, og det er en fornøjelse at arbejde med den slags kode i høj kvalitet.

Så lad os se nærmere på, hvad open source betyder, og hvad fordele og ulemper er ved at arbejde med open source-projekter.

Hvad er open source?

Udtrykket "open source" blev opfundet inden for softwareudviklingsbranchen og henviser til noget, som alle kan inspicere, ændre og dele. Det repræsenterer en specifik tilgang til oprettelse af computerprogrammer, der fejrer værdierne for samarbejde, gennemsigtighed og samfundsorienteret udvikling.

Open source-kode er skrevet af udviklere og for udviklere.

For at beskytte alle parter, der er involveret i open source, kan projektejeren bruge en Creative Commons-licens. En Creative Commons (CC) licens giver alle mulighed for at dele, bruge og bygge videre på dit arbejde.

Open source-software er normalt et gratis softwareprodukt, hvor udviklere har adgang til kildekoden. De kan forbedre programmets ydeevne, tilføje nogle funktioner og rette fejl. Nogle eksempler på sådan software er LibreOffice, Mozilla Firefox og Chromium.

Derimod er der proprietær software , også kaldet ”lukket kildesoftware”. Kildekoden til et sådant program kan kun inspiceres eller ændres af dets ejere. Nogle eksempler på proprietær software inkluderer nogle produkter fra Microsoft, Adobe eller Apple.

Nogle virksomheder ser open source-software som normen, mens andre foretrækker at udvikle software med lukket kilde. Og for at være sikker har open source-modellen sine fordele og ulemper.

Hvad er godt ved at udvikle open source-software?

fordele med open source

Personlige fordele

Hvis jeg siger, at open source-udviklere er drevet af altruisme og ønsket om at hjælpe andre, kan mange mennesker, der læser denne artikel, smile af vantro. Men denne iboende motivation er den primære årsag til, at de fleste mennesker arbejder på open source-projekter.

Undervurder ikke vigtigheden af ​​personlige fordele - de følelser af at være hjælpsomme og selvopfyldte.

Fællesskabs anerkendelse

Forskere og læger deler deres erfaringer ved at skrive videnskabelige artikler og deltage i videnskabelige konferencer. UI / UX-designere deler deres erfaringer med Behance eller Dribbble. Forfattere udskriver deres bøger eller deler dem via online platforme. Musikere og filmskabere deler deres arbejde med verden via forskellige streamingtjenester. Hvorfor ville softwareudviklere være anderledes og vil gå glip af deres mulighed for at få anerkendelse?

Når du arbejder på eller kører open source-projekter, kan du få anerkendelse fra udviklerfællesskabet på en række måder, såsom at skabe en god GitHub-profil og deltage i begivenheder som Hacktoberfest.

Du får muligvis også rabatter, gratis adgang til begivenheder og en veludviklet infrastruktur til at køre dine projekter. Ikke kun sparer du penge på at arbejde på open source-projekter, men det inspirerer dig også til at bruge alle de største værktøjer, der er tilgængelige for dig i dine egne projekter.

Her er et par deltagere af Lviv Hacktoberfest.

Selvreklame

Hvis du eller din virksomhed deltager aktivt i open source-samfundet, kan du tjene et godt ry. På denne måde, hvis du er en individuel eller selvstændig udvikler, vil det være lettere for dig at finde et job som freelancer eller fuldtidsansat. Hvis du repræsenterer en softwareudviklingsvirksomhed, vil det være lettere for dig at finde folk, der er villige til at arbejde for dig, partnere, der er villige til at samarbejde, og kunder, der er villige til at anmode om dine professionelle tjenester.

Derfor skaber udviklingen af ​​open source-software en perfekt reklamemulighed - en win-win-situation både for udviklere og udviklingsbureauer.

Følelse af værdi

Ingen grund til at skjule sandheden: jobafbrænding plager udvikleres arbejde og softwareleverandørers HR-strategier. Hvis du er virksomhedsejer ved at motivere dine medarbejdere til at deltage i open source-udvikling, viser du dem, at deres arbejde har værdi. Ikke kun vil de arbejde på dine kommercielle projekter, men de vil også give værdi til det bredere udviklerfællesskab ved at arbejde på open source-projekter.

Ved at hjælpe dine udviklere med at opnå disse følelser af formål og værdi holder du dem interesserede i at arbejde med dig.

Det samme gælder, hvis du er en selvstændig udvikler. At engagere sig i open source softwareudvikling vil gøre dit arbejde meningsfuldt, og du vil ikke blive hadet, når tiden går.

Softwarekvalitet

Open source-kode er ofte af højere kvalitet. Et stykke software oprettet af et team af udviklere kan være af lavere kvalitet end det, der er udviklet af tusindvis af udviklere fra hele verden med erfaring inden for forskellige teknologier, industrier og projekter. Og fejl i open source-software identificeres meget hurtigt, da koden løbende gennemgås af flere udviklere.

Selv kode skrevet af en enkelt udvikler er ofte af højere kvalitet, hvis den er åben. Hvis du skriver kode, som kun du eller dine nære kolleger kan se, er du måske ikke ligeglad med kodestil. Men hvis du skriver kode, som alle kan se, vil du gøre alt, hvad du kan for ikke at ligne en kodeabe. Anmeldelser, bidrag og refactoring fra samfundet er alle nyttige her.

Datasikkerhed

Du skal bruge open source-software til applikationsudvikling, fordi den er mere sikker. Samfundet finder og rapporterer omgående sikkerhedsfejl, som softwareejeren normalt løser med det samme.

Til gengæld, hvis der er en sikkerhedsfejl i et proprietært softwareprodukt, vil ingen vide det, før nogen bliver offer for den trussel, det udgør.

Desuden kan produkter med åben kilde ikke misbruge og misbruge brugernes data med vilje, som nogle beskyttede softwarevirksomheder gør. Fællesskabet ville opdage dette misbrug, og omdømmet til softwaren og dets ejer ville blive ødelagt.

Tilpasning

Udvikling af open source-software betyder normalt, at du udvikler en let tilpasselig software. Da kildekoden er åben, kan en udvikler nemt tilføje ændringer til grænseflades funktionalitet.

For eksempel er Apache CloudStack en open source-software, der letter cloud computing. Et andet eksempel er den open source-platform Botpress, som gør det muligt for udviklere nemt at oprette brugerdefinerede chatbots. KeenEthics-udviklere, der er Botpress-bidragydere, føler sig glade, når de er i stand til at gøre andres liv enklere.

Open source handler om at få og dele erfaring. Nogle gange ser du, at et open source-softwareprojekt mangler noget, og du udfylder dette hul ved at bidrage med din kode. Andre gange forstår du, at du kunne gøre noget bedre. Open source hjælper dig med at håndtere kedsomhed og få anerkendelse fra jævnaldrende.

Sergey Gornostaev

Hvad er IKKE godt ved at udvikle open source-software?

open source ulemper

Miskommunikation og misforståelser

Du kan forvente anmodninger om at forbedre dit produkt eller om at hjælpe med noget, men du skal muligvis beskæftige dig med forskellige slags mennesker. Nogle kan forvente, at du reagerer på deres anmodninger 24/7. Andre åbner muligvis PR'er, der forbedrer dit produkt, men du bliver nødt til at forklare reglerne for, hvordan ting skal forberedes, og hvordan de bliver flettet ind i hovedlinjen.

I sidste ende er der ingen garanti for, at samfundets bidrag ikke viser sig at være af lavere kvalitet. Dette er grunden til, at der er stor chance for, at du ender med at omlægge en persons kode og efterlade folk skuffede over ikke at flette deres ændringer.

Truslen mod kerneforretningsværdien

Du bør aldrig open source noget, der har en kerneværdi for din virksomhed. Hvis der er en forretningshemmelighed - en idé eller en måde at implementere den på, der gør din virksomhed unik, skal du ikke open source den, så den ikke bliver tilgængelig for dine konkurrenter. Alligevel, hvis du har ideer og værktøjer, der kan bruges af offentligheden uden noget tab for din virksomhed - open source dem.

Hvorfor open source er det rigtige at gøre

Hvis du er internetbruger (og det er du bestemt), bruger du uundgåeligt en utrolig mængde gratis software open source. Internetopfinderne designede en stor del af det som open source-projekter, og enhver, der bruger det i dag, høster frugterne af deres indsats. For eksempel er cloud computing stort set baseret på open source-bidrag.

Desuden angiver en undersøgelse foretaget af Tidelift og The New Stack, at 84 procent af softwareudviklere bruger open source i deres professionelle rutine. Brug af andres erfaring og viden, hvorfor deler du ikke din?

Hvis vi nyder fordelene ved open source, er det den rigtige ting at give tilbage til samfundet.

Deltag i Open Source Development!

Hvordan starter man? Åbn dit GitHub-arkiv for offentligheden, og fortæl verden om det via din blog, sociale medier eller udviklerfora. Registrer dig på Hacker News, da der er mange open source-bidragydere, der hænger ud.

Åben sourcing får dig til at vokse hurtigere som udvikler og bringer et nyttigt resultat til hele samfundet. På samme tid skal du prøve ikke at skade det samfund, der giver dig alle disse store open source-ting. Bidrager klogt og hjælp andre ved at besvare spørgsmål, du kan hjælpe med.

Har du en idé til et projekt?

Min virksomhed KeenEthics har stor erfaring med open source webudvikling og udvikling af mobilapps. Hvis du er klar til at ændre spillet og starte dit projekt, er du velkommen til at kontakte .

Hvis du har nydt artiklen, bør du helt sikkert læse en anden: Agile Testing: Sådan sikres software af høj kvalitet.

PS

Jeg vil også gerne sige tak til Alex Pletnov, CTO @ KeenEthics, for at inspirere og bidrage til artiklen.

Den originale artikel, der blev offentliggjort på KeenEthics-bloggen, kan findes her: Hvad er godt ved at udvikle open source, og hvad er det ikke?