September 19, 2019
ако купувате продукт като интелигентните светлини на Philips Hue или iPhone, вероятно предполагате, че хората, написали кода си, се плащат. Въпреки че това е вярно за тези, които директно създават софтуер на даден продукт, почти всяка технологична компания също разчита на хиляди битове безплатен код, предоставен чрез проекти с отворен код на сайтове като GitHub и GitLab. Често тези разработчици с удоволствие работят безплатно. Писането на софтуер с отворен код им позволява да изострят своите умения, да спечелят перспективи от общността или просто да помогнат на индустрията, като предоставят иновации безплатно. Според Google, който поддържа стотици проекти с отворен код, open source „дава възможност и насърчава сътрудничеството и развитието на технологиите, решавайки проблеми в реалния свят“. Но когато софтуерът, използван от милиони хора, се поддържа от общност от хора или от един човек, всички на доброволен принцип, понякога нещата могат да се объркат ужасно. Катастрофалната грешка в Heartbleed от 2014 г., която компрометира сигурността на стотици милиони сайтове, беше причинена от проблем в библиотека с отворен код, наречена OpenSSL, която разчиташе на един пълен работен ден да не направи грешка, докато те се актуализираха и променяха този код, използван от милиони. Друг път разработчиците се отегчават и изоставят проектите си, които могат да бъдат нарушени, докато не обръщат внимание. Трудно е да се изисква от програмисти, които работят за безплатни проблеми за отстраняване на проблеми или да продължат да поддържат софтуер, към който са загубили интерес по някаква причина - въпреки че някои компании със сигурност се опитват. От друга страна, адекватното поддържане на тези проекти прави цялата технологична екосистема по-слаба. Така че някои програмисти с отворен код молят компаниите да платят не за техния код, а за услугите си за поддръжка. Даниел Стенберг е един от тези програмисти. Той създаде CURL, един от най-популярните проекти с отворен код в света. Разработчиците използват cURL за прехвърляне на информация между две системи, обикновено в „API“, където услугата трябва да поиска или изпрати данни от друга система. Според Stenberg, cURL е включен в милиарди смартфони, „няколкостотин милиона“ телевизори и най-малко 100 милиона умни автомобили, всеки iPhone произведен някога, и почти всяко друго модерно свързано устройство и услуга, до които се докосвате всеки ден. Мащабът на използването му е потресаващ, като се има предвид, че Стенберг върши лъвския дял от работата по поддържането му с помощта на общност от доброволци. Все пак малко от компаниите, които разчитат на кода му, дори осъзнават, че това е неговият код. Стенберг, който живее близо до Стокхолм, Швеция, изобретява CURL през 1998 г. и все още поддържа проекта безплатно, въпреки че наскоро той се зае работа във фирма, наречена wolfSSL, която сега му плаща да работи по него „колкото е възможно по-пълно работно време. „Компаниите, които разчитат на конкретно парче софтуер с отворен код, от време на време наемат създателите на тези проекти, за да надграждат проектите - в този случай wolfSSL е възложил на Stenberg не само да поддържа CURL, но и да изгражда договори за услуги за предоставяне на лична поддръжка на CURL. Стенберг никога не е очаквал CURL да спечели толкова голяма популярност. Всъщност бяха необходими много години, за да научите, че дори се използва широко. Тъй като кодът е достъпен за използване безплатно, без търговско лицензиране, няма причина компаниите да му казват, че го използват. Той разбра, че софтуерът, който той е измислил, става популярен, защото хората започнаха да му казват, че виждат името му в прозореца за около или е погребан в документация. „Температурата се повишаваше толкова бавно, че никога не сме я виждали да идва“, каза той. „Мисля, че се дразня, когато усещам, че хората се опитват да се възползват от нас, вместо да дадат своя дял в проекта, когато извлекат толкова много от него.“ През първите 20 години от съществуването на CURL, Стенберг казва, че е работил върху това в свободното си време и е спечелил да поддържа своята „истинска работа“, правейки друга разработка на софтуер. Поддържането на проекта отне много работа: той прекара хиляди часове в подобряване на CURL, отстраняване на грешки и подобряване на кода си. От 25 000 „поръчки“ или актуализации, направени в хранилището на GitHub за cURL, Stenberg създаде 14 000 от тях. Никой друг разработчик, допринесъл за софтуера, не е направил повече от 2,586 ангажимента. Оцеляването на CURL е благодарение на набор от спонсори, които финансират хостинг на проекта и други разходи - въпреки че Stenberg казва, че няма големи компании да участват - и сътрудници като Stenberg, които отделят времето си безплатно. Стенберг казва, че смята, че е важно, че съществува отворен код и че никога не е съжалявал, че прави CURL с отворен код. Това, което го смущава, е, когато компаниите поискат помощта му, когато нещата се объркат. Миналата година компания в чужбина се свърза с него в паника, след като спря пауза за надстройка на фърмуера до няколко милиона устройства поради проблем с CURL. „Трябваше да обясня, че не мога да пътувам до тях в друга държава с кратко предизвестие, за да им помогна да поправят това […], защото в свободното си време работя върху CURL и имам работа на пълен работен ден“, казва Стенберг. Тъй като се интересува от проекта, той се измъкна, за да намери приятел, който да му помогне. Приятелят му излетял и помогнал да реши проблема. За да компенсира програмистите с отворен код за този вид услуга, Стенберг вярва, че големите компании трябва да плащат за договори за поддръжка от разработчиците на библиотека, които биха ги компенсирали за времето им и биха помогнали да се гарантира, че даден проект действително се поддържа за дълго време. С работата си в wolfSSL той се надява да убеди компании като Apple да платят в замяна на специална поддръжка, но усилията все още са в начален етап.
Договорите за поддръжка не са евтини, често варират в хилядите долари в замяна на специална помощ за използване на проекти и подкрепа, когато нещо се обърка. Типът компании, които се нуждаят от такава услуга обаче, обикновено са добре финансирани или имат широк обхват, особено в случай на CURL. Все още не е ясно, че компаниите биха били заинтересовани от такъв договор. Когато Стенберг поиска компанията, която се нуждае от него, за да отлети до друга държава, за да разреши проблема им, за да плати за такава, те отказаха. Това го обезсърчава. „Мисля, че се дразня, когато усещам, че хората се опитват да се възползват от нас, вместо да допринесат своя дял в проекта, когато извлекат толкова много от него“, казва той. Но той все още вижда договорите за поддръжка като дългосрочно решение за поддържане на отворен код: „Парите трябва да стигнат до авторите, а не просто да се всмукват от кураторите или огромните проекти / компании с отворен код, които са най-отворени -източни пари днес. ” Мнозина от общността с отворен код са против идеята, че те трябва да бъдат платени по всякакъв начин, което остава спорна тема. Някои от общността с отворен код смятат, че монетизацията побеждава целта на „безплатно“ - но реалността е, че хората, които работят безплатно, трябва да се хранят и хранят семейства, както всички останали. Днес, когато разработчик или компания изпраща имейла на Stenberg възможно най-бързо, той казва, че „отношението ми се е изместило повече към„ е, може би, просто може би това може да е случай, при който можете да обмислите плащането на договор за поддръжка. “ Когато питам Стенберг дали ще продължи да поддържа CURL завинаги - вече са минали 20 години - той отговаря, че няма планове да изостави проекта, който се превърна в основна част от живота му. „Разбира се, ако приемем, че и аз успявам да получа заплащане“, добавя той. Актуализация: Тази статия е редактирана, за да отразява, че след Stenberg най-много ангажименти, които един разработчик е направил за CURL, са 2586.