Плюсовете и минусите на разработката на софтуер с отворен код

Крайно време е да се върнете на хората, които ви дават възможност да използвате Интернет!

Много разработчици обичат проектите с отворен код и с добра причина: те ги използват всеки ден, за да ускорят работата си. Има много успешни примери за софтуерни решения с отворен код, като Linux (операционна система) или React (библиотека на JavaScript). Тези решения често са добре изработени и е удоволствие да работя с такъв вид висококачествен код.

И така, нека разгледаме по-отблизо какво означава отворен код и какви са плюсовете и минусите при работата с проекти с отворен код.

Какво е отворен код?

Терминът „с отворен код“ е измислен в индустрията за разработване на софтуер и се отнася до нещо, което всеки може да проверява, модифицира и споделя. Представлява специфичен подход за създаване на компютърни програми, който отбелязва ценностите на сътрудничеството, прозрачността и ориентираното към общността развитие.

Кодът с отворен код се пише от разработчици и за разработчици.

За да защити всички страни, ангажирани с отворен код, собственикът на проекта може да използва лиценз Creative Commons. Лицензът Creative Commons (CC) дава възможност на всички да споделят, използват и надграждат вашата работа.

Софтуерът с отворен код обикновено е безплатен софтуерен продукт, при който разработчиците имат достъп до изходния код. Те могат да подобрят производителността на програмата, да добавят някои функции и да поправят грешки. Някои примери за такъв софтуер са LibreOffice, Mozilla Firefox и Chromium.

За разлика от това, съществува патентован софтуер , наричан още „софтуер със затворен код“. Изходният код на такава програма може да се проверява или променя само от нейните собственици. Някои примери за патентован софтуер включват някои продукти на Microsoft, Adobe или Apple.

Някои компании виждат софтуера с отворен код като норма, докато други предпочитат разработването на софтуер със затворен код. И за да сте сигурни, моделът с отворен код има своите плюсове и минуси.

Какво е чудесното в разработването на софтуер с отворен код?

ползи с отворен код

Лични облаги

Ако кажа, че разработчиците с отворен код са водени от алтруизъм и желанието да помогнат на другите, много хора, четящи тази статия, може да се усмихнат невярващо. Но тази вътрешна мотивация е основната причина повечето хора да работят по проекти с отворен код.

Не подценявайте значението на личните облаги - тези чувства, че сте полезни и самоизпълнени.

Общностно признаване

Учените и лекарите споделят своя опит, като пишат научни статии и участват в научни конференции. UI / UX дизайнерите споделят своя опит в Behance или Dribbble. Писателите отпечатват книгите си или ги споделят чрез онлайн платформи. Музиканти и филмови производители споделят работата си със света чрез различни стрийминг услуги. Защо разработчиците на софтуер биха били по-различни и биха искали да пропуснат възможността си да получат признание?

Когато работите или изпълнявате проекти с отворен код, можете да получите признание от общността на разработчиците по редица начини, като например създаване на страхотен GitHub-профил и участие в събития като Hacktoberfest.

Можете също така да получите отстъпки, безплатен вход за събития и добре развита инфраструктура за управление на вашите проекти. Работата по проекти с отворен код не само ви спестява пари, но и ви вдъхновява да използвате всички най-добри инструменти, с които разполагате в собствените си проекти.

Ето няколко участника на Лвовския хактоберфест.

Самореклама

Ако вие или вашата компания участвате активно в общността с отворен код, можете да спечелите страхотна репутация. По този начин, ако сте индивидуален или самостоятелно зает предприемач, ще ви бъде по-лесно да си намерите работа като свободна професия или служител на пълен работен ден. Ако представлявате компания за разработка на софтуер, ще ви бъде по-лесно да намерите хора, желаещи да работят за вас, партньори, желаещи да си сътрудничат, и клиенти, желаещи да поискат вашите професионални услуги.

Ето защо разработването на софтуер с отворен код създава перфектна възможност за реклама - печеливша ситуация както за разработчиците, така и за агенциите за разработка.

Чувство за стойност

Няма нужда да криете истината: изгарянето на работа тормози работата на разработчиците и HR стратегиите на продавачите на софтуер. Ако сте собственик на компания, като мотивирате служителите си да участват в разработването с отворен код, вие им показвате, че работата им има стойност. Те не само ще работят по вашите търговски проекти, но и ще предоставят стойност на по-широката общност на разработчиците, като работят по проекти с отворен код.

Помагайки на разработчиците си да постигнат тези чувства на цел и стойност, вие ги поддържате заинтересовани да работят с вас.

Същото важи и ако сте самостоятелно предприемач. Ангажирането с разработка на софтуер с отворен код ще осмисли работата ви и няма да растете да я мразите с течение на времето.

Качество на софтуера

Кодът с отворен код често е с по-високо качество. Софтуер, създаден от екип от разработчици, може да бъде с по-ниско качество от този, разработен от хиляди разработчици от цял ​​свят с опит в различни технологии, индустрии и проекти. И грешките в софтуера с отворен код се идентифицират много бързо, тъй като кодът се преглежда непрекъснато от множество разработчици.

Дори кодът, написан от един разработчик, често е с по-високо качество, ако е с отворен код. Ако напишете код, който само вие или вашите близки колеги ще видите, може да не ви е грижа много за стила на кода. Но ако напишете код, който всеки може да види, ще направите всичко възможно, за да не изглеждате като маймуна с код. Отзивите, приносите и рефакторинга от общността са полезни тук.

Сигурност на данните

Трябва да използвате софтуер с отворен код за разработване на приложения, защото е по-сигурен. Общността незабавно намира и съобщава за недостатъци в сигурността, които собственикът на софтуера обикновено отстранява веднага.

На свой ред, ако има пропуск в сигурността в собствения софтуерен продукт, никой няма да знае, докато някой не стане жертва на заплахата, която представлява.

Също така продуктите с отворен код не могат да злоупотребяват и злоупотребяват с данните на потребителите умишлено, както правят някои собствени софтуерни компании. Общността ще открие тази злоупотреба и репутацията на софтуера и неговия собственик ще бъде разрушена.

Персонализиране

Разработването на софтуер с отворен код обикновено означава, че разработвате лесно персонализиран софтуер. Тъй като изходният код е отворен, разработчикът може лесно да добави промени във функционалността на интерфейса.

Например Apache CloudStack е софтуер с отворен код, който улеснява изчисленията в облак. Друг пример е платформата с отворен код Botpress, която позволява на разработчиците лесно да създават персонализирани чат ботове. Разработчиците на KeenEthics, които са сътрудници на Botpress, се чувстват възхитени, когато са в състояние да опростят живота на някой друг.

С отворен код става дума за натрупване и споделяне на опит. Понякога виждате, че в софтуерен проект с отворен код липсва нещо и попълвате тази празнина, като допринасяте с вашия код. Друг път разбирате, че бихте могли да направите нещо по-добре. Отвореният код ви помага да се справите със скуката и да спечелите признание от връстници.

Сергей Горностаев

Какво не е чудесно в разработването на софтуер с отворен код?

недостатъци с отворен код

Погрешно общуване и недоразумения

Можете да очаквате заявки за подобряване на вашия продукт или да помогнете с нещо, но може да се наложи да имате работа с различни видове хора. Някои може да очакват да реагирате на техните искания 24/7. Други може да отворят PR за подобряване на вашия продукт, но ще трябва да обясните правилата за това как трябва да се подготвят нещата и как те се сливат в основната линия.

В крайна сметка няма гаранция, че приносът на общността няма да се окаже с по-ниско качество. Ето защо има голям шанс в крайна сметка да рефакторирате нечий код и да оставите хората разочаровани, като не обедините техните промени.

Заплахата за основната бизнес стойност

Никога не бива да отваряте с изходен код нещо, което има основна стойност за вашия бизнес. Ако има търговска тайна - идея или начин за нейното внедряване, който прави вашия бизнес уникален, не трябва да го отваряте, за да не стане достъпен за конкурентите ви. И все пак, ако имате идеи и инструменти, които могат да бъдат използвани от обществеността без загуба за вашия бизнес - отворете ги.

Защо отвореният код е правилното нещо

Ако сте потребител на интернет (и определено сте), неизбежно използвате невероятно количество безплатен софтуер с отворен код. Интернет изобретателите са проектирали огромен дял от него като проекти с отворен код и всеки, който го използва днес, прибира плодовете на своите усилия. Например изчисленията в облак се базират до голяма степен на приноса с отворен код.

Освен това, проучване на Tidelift и The New Stack гласи, че 84% от разработчиците на софтуер използват отворен код в професионалната си рутина. Използвайки чуждия опит и знания, защо не споделите своя?

Ако се радваме на предимствата на отворения код, връщането на общността е правилното нещо.

Участвайте в разработването с отворен код!

Как да започнем? Отворете вашето хранилище на GitHub за обществеността и кажете на света за това чрез вашия блог, социални медии или форуми за разработчици. Регистрирайте се в Hacker News, тъй като има много участници с отворен код.

Отвореният източник ви кара да растете по-бързо като разработчик и носи полезен резултат за цялата общност. В същото време трябва да се опитате да не навредите на общността, която ви дава всички тези страхотни неща с отворен код. Допринасяйте разумно и помагайте на другите, като отговаряте на въпроси, с които можете да помогнете.

Имате ли идея за проект?

Моята компания KeenEthics има много опит с уеб разработката с отворен код и разработването на мобилни приложения. Ако сте готови да промените играта и да започнете проекта си, не се колебайте да се свържете .

Ако сте харесали статията, определено трябва да прочетете друга: Agile Testing: Как да осигурите висококачествен софтуер.

PS

Също така бих искал да благодаря на Алекс Плетнов, технически директор @ KeenEthics, за вдъхновението и приноса към статията.

Оригиналната статия, публикувана в блога на KeenEthics, можете да намерите тук: Какво е чудесното в разработването на отворен код и какво не?