23 април, 2024

Еди Жауд е консултант и софтуерен инженер. Той е голям привърженик на технологиите с отворен код и работи по проекти за стартъпи. Той отбеляза кои са трендовете с отворен код и сподели как се оценява добър проект в тази ниша.

С какви проекти се занимаваш? Всичко ли е с отворен код?

Много от моите проекти, дори и моите клиентски проекти, стават все с по-отворен код. И така, какво бих направил е, че съм Full Stack софтуерен инженер. Консултант съм и така се движа между стартиращите компании във финтех пространството чак до High Street Banks. High Street Banks съществуват от стотици години и във Великобритания.

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

Банката веднъж се включиха в отворен код, за да получат ползата от него. Те искаха да могат да наемат хора по-лесно, които да са правилните хора. Потърсиха възможност в open source общността. Казваха ми, че не искат да си излагат данните от проектите, но те не излагат данните си там, които въвеждат в кода си, данните са все още частни, но се публикува само кода. Те не можеха съвсем да разберат това и затова на някои хора, които са от друго поколение, винаги им е трудно да разберат, че вече нещата са други.

Така че не се съсредоточавам върху проекта с отворен код, тъй като вече фокусирането ми е върху понижаването на бариерата за влизане на още няколко човека, които могат да допринесат за отворен код и след това да правят видеоклипове в YouTube и потоци на живо, за да помогнат на хората да се включат с отворен код, това е едно от онези неща, където наистина е лесно, когато знаеш как. Така че мисля, че и хората преминаха през предложенията как да направят принос, без значение колко малки са редовете, които добавят, но процесът е доста лесен. И тогава всъщност по-малкият принос е по-добър, защото е по-вероятно да бъдеш приет. Важен е малкият принос! Не може просто да се чака и чака, докато накрая се направи голям принос. Публикуват се малките, за да се получи дискусия.

От технологична гледна точка, както използваш най-често в проектите си?

Току-що завърши проекта с банката. И това беше R&D проект. И сега гледам да взема потенциално pipelines проекти в cloud native пространството, както и Full Stack проекти. За да преодолея разликата между облака, native Full Stack и т.н., използвай най-вече отворен код. Наистина с отворен код е страхотно и общността е силна. Ще се преодолее пропастта в много компании и те ще осъзнаят, че все още могат да правят пари, дори когато проектът ви е с отворен код.

Така че в проекта, който току-що завърших, използвахме Angular за Front-End, защото ако той иска да използва фреймуърк, който да помогне на разработчиците наистина бързо, защото има условности. Използваме Cypress за автоматизирано тестване с Cucumber. За нас е истинският тест в Gherkin Syntax, което означава, че това е практически на английски, което е полезно да се използва за мост на разликата между разработчиците, тестерите, собствениците на продуктите и др. Използвам NoJS и TypeScript. Следователно не трябваше да контактуваме между използването Angular в TypeScript на бележка, а беше същото да се направи списък на предимствата на strix типовете. Използвам също така MongoDB. Данните в реално време са 5 base wheels и са много полезни, за да можем да направим прототип с това и това беше наистина случайно, за да извадим данните в реално време от кутията. Хоствахме това на GCP. Това не беше използване на native облачно решение. Просто използваше енджина на приложението. Продължихме го просто. Направихме pull request и идеята беше да бъдат добри тестовете на браузъра, тестовете при достъпността, пентестинга, всичко ще се изпълнява на CI, ако не е достъпно за тях се изпращаше за преглед. Проектът ще проведе дискусия и отново ще се пусне нов pull request.

Колко време отнема да направиш подобен проект?

Това е наистина добър въпрос. Вярвам, че изобщо няма много време. Мисля, че много хора, в зависимост от това какъв е опитът им, например, повече кодиране, фокусирано като Front-End или Back-End Full Stack. Те ще им създадат проект с по-висока прецизност и искам да кажа, че има повече функции, които ще станат по-добри, за да стане по-интересен проектът.

И тогава те ще помислят за тестването по-късно, отколкото аз мисля за внедряването по-късно, което го прави много по-трудно, защото сега отидете да диплойнете проекта са, на който е нужен Front-End. Така че той се нуждае от CDA и той е засегнат от толкова много неща – миграция за данни, за да ми покаже нещата, за да си помисля къде е начинът, по който обичам да изграждам. Моята идея е, че за да изградим проект, който казва “Hello World” буквално за използване на Angular или реагира на Vue просто използвайки scaffolding. Tогава ще се проведе последният тест на този свеж проект, просто проверява дали ще каже, че вървим по pipeline и тогава искаме това да стартира тестовете и независима платформа. След това го качваме на GCP или AWS.

Къде можем да се научим да правим добри документации?

Може да се направи перфектно Read Me. Попаднах на репо в GitHub, което изброи за общността кои са перфектните Read Me документи. Аз преминах през всичките и разгледах доста интересни идеи, които вече съм използвал в моите проекти. Интересното беше, че на всичките логото на проекта винаги стоеше горе. Бях доста изненадан.

Нека да ти предложа ключова дума и да ми кажеш всичко, свързано с нея и отворените технологии. Първата дума е 5G.

5G може ли да бъде с отворен код? Отговорът е “Да”. Всичко може да бъде с отворен код. Виждал съм официален код вече е и за документация на лъскави файлове с всичко за хардуера. Видях 3D модели за 3D отпечатване на отворените технологии. Така че, ако правите 5G, който включва хардуерен софтуер, а е доказано, че и двете могат да бъдат отворени. Дори на FOSSDEM показаха всички проекти с отворен код от хардуер и софтуер на таблото за автомобили до селскостопанско оборудване в Африка, изграждайки го от нормални високо достъпни части за повикване за изграждане на такава селскостопанска техника и проектиране. Така че абсолютно 5G, ако една компания стои зад нея, иска да бъде с отворен код, те биха могли да отворят източника по трудния начин. Това ще направи продукта толкова по-добър, защото 10 000 души, работещи върху него, всъщност имат целия свят, който може да даде обратна връзка, може да добави стойност за прецизиране на сигурност, да направи всичко с тези ефективни подобрения.

Правителство. Правителствата могат ли да бъдат с отворен код?

Работих в Министерството на правосъдието и за правителствени ведомства във Великобритания и в началото преди много много години, трябваше да се боря, за да получа проект с отворен код, но се бориш за него няколко години. Поверителни услуги на правителствата сега са, че политиката е, че всичко е с отворен код по подразбиране. Това наистина ме направи истински щастлив, защото връщайки се осем години назад е имало резултат. Трябва да се борим заедно. Така че мисля, че това е наистина във Великобритания, особено според мен и в САЩ, както можете да видите на GitHub, че имате различни правителствени департаменти, които отварят законодателство за снабдяване и много друга информация. Дори виждам правен документ, че лицензът за кодекс за поведение е стар, сега става отворен код при получаване на помощ от програмисти.

Може ли да се отвори кода на видео игрите? Разбира се, питам за цялостната визия гейминга.

Има много игри с отворен код в момента, дори по-стари игри вече са пуснати е с отворен код, може би Unreal Engine е вече с отворен код на хората могат да изграждат игри по-смело. Unity също е с отворен код. Но усещам, че конзолите все още се задържат, защото собствеността дава повече сила. Така че мисля, че конзолите са малко по-назад в този смисъл. Всичко това се променя в гейминга. Мисля, че се променя. Но по отношение на културата в гейминга, мисля, че е все още назад.

Идеята на open source не е само за пускането на отворен код, пускането на отворена документация и поставянето на информация за него. Всъщност са хората и сътрудничеството – общността е по-важна от технологията, защото дори и да измисля най-невероятното нещо, като Google или Uber и да го пусна с отворен код, ако нямам сътрудници, няма да е велико и да излети.

Ако говорим за ситуацията, кои ще бъдат отворените технологии, на които трябва да обърнем най-специално внимание? Какви са наблюденията ти?

Това е много труден въпрос! Това е цял свят. Но със сигурност cloud native и Kubernetes, защото цялата инфраструктура ще бъде скоро с отворен код. TensorFlow отново е един от най-активните проекти на GitHub в света и активен, с най-голямата общност, която наистина се интересува от машинно обучение. Друг тренд ще са уеб камерите за преподаване, с които ще правите всичко с жестове и можете да играете Pac-Man, но с помощта на жестове. Наистина много интересни уеб технологии, които винаги се развиват постоянно, но предните фреймуърци и библиотеките, така че това ще бъде интересно Следващите пет години ще водят бяха Angular, React и Vue. Аз следя все още тези, но има и други, които сега пълзят нагоре, така че ще бъде интересно определено.

Винаги ще има необявено състезание между езиците и фреймуърците. 

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

 

Интервюто проведе Атанас Нейчев

Тагове: , , , , , , , , , , , , , , , , , ,