Андреас Клинг, неговата операционна система SerenityOS и браузърът Ladybird
Твърди се, че някогашните алкохолици и наркомани са най-усърдните трениращи в спортната зала – там те работят с всички сили. И това е наблюдаване освен от сферата на спорта, само че и от други области на живота. Ако хората са склонни към пристрастяване, то може да се прояви и в разнообразни занимания, в които тези хора се потапят напълно и изцяло: работохолизъм, дами, занимания, гурме, колекциониране и така нататък Сякаш се отдават напълно на всяко начинание.
Да вземем за образец шведския програмист Андреас Клинг. През 2018 година той излиза от държавна клиника за рехабилитация на наркозависими след тримесечен курс – и като занимание стартира да създава операционната система SerenityOS. Имал потребност от нещо, с което да ангажира свободното си време и да се отърве от непознатите мисли. Създаването на нова операционна система е много уместно за такава задача.
Само за няколко години SerenityOS се трансформира в един от най-големите планове с отворен код в света с хиляди участници. Хубав интерфейс в жанр 90-те години, ядро, сходно на Unix, и най-хубавите хрумвания от други Оценка за съвместимост – това е рецептата за триумф.
Преди да сътвори SerenityOS, Андреас Клинг има естествена кариера на разработчик, програмира на C++ за компании от друг мащаб, като работи за Nokia и Apple по енджина на браузъра WebKit. Отдалечената работа за Apple от Швеция води до нездравословни пристрастявания, а преместването в Калифорния и графикът от 10 до 22 часа утежняват нещата. Понякога той употребявал алкохол и опиати напряко в офиса по време на обяда.
След завръщането си в Швеция и тримесечно лекуване в клиника Андреас остава без работа.
„ Без опиати или други пороци, които да убиват времето, дните се разтягаха необикновено дълго “, написа той. – В последна сметка се насочих към програмирането, защото то постоянно е било главният ми интерес в живота “.
Дядо му имал в къщата си античен компютър от 2006 година, на който вентилаторът съсипвал дънната платка, само че в случай че наклониш систематичния блок под избран ъгъл, той въпреки всичко можел да се започва. В трезвия му живот програмирането станало друго, чувствал се като в детството си:
„ Винаги съм се интересувал от неща от ниско равнище, по тази причина започнах да си играя с някои от тях. Написах дребен парсер на изпълними ELF файлове. След това браузъра на файловата система Ext2… И дребен GUI фреймуърк с цикъл от събития… От тези планове стартира да се оформя операционната система “.
Всичко това се оказа извънредно лечебно. Андреас избира името Serenity („ успокоение “), с цел да си спомня постоянно за едноименната молитва:
Основната концепция е била да се сътвори операционна система фантазия за ежедневна приложимост. Тя би трябвало да съчетава две компютърни парадигми: графичния потребителски интерфейс от 90-те години и идеалната Unix подпора от края на 2000-те години.
„ Когато работех в Apple, доста ми харесваше фактът, че по-голямата част от софтуера се създаваше вътре в компанията. Това освен позволяваше доста тясна интеграция, само че и правеше системата извънредно комфортна за разработчиците. Винаги можеше да намериш специалисти някъде наоколо. Помислих си, че ще се опитам да пренеса същото нещо в света на отворения код, и взех решение, че SerenityOS няма да бъде мозайка от пакети на трети страни – не, ние ще напишем всичко сами! От ядрото до уеб браузъра и всичко сред тях “.
След като Андреас си намира работа, той продължава да работи по плана в свободното си време. До 2021 година, когато се появява опцията да напусне работа и да се посвети напълно на обичаната си идея:
„ Това стана допустимо с помощта на извънредно великодушната поддръжка, която получавам от вас посредством Patreon, спонсорите на GitHub и PayPal! Чувствам се доста благополучен, че имам доверието и поддръжката на толкоз доста хора. Много ви благодаря!!! “
Към момента на прекратяването на контракта му през 2021 година Андреас е получавал малко над 2000 $ под формата на дарения на месец, както и възнаграждения от YouTube (150 $ на месец) и от продажби на мърчове на SerenityOS (100 долара). След това приходите последователно се усилват, достигайки 4200 $ през октомври 2022 година и така нататък Главното е да вършиме това, което обичате да вършиме, като запазите психическото и физическото си здраве, и парите ще дойдат.
В Twitter той се изрича позитивно за Copilot като асистент за програмиране на C и C++. Като се има поради големият размер работа, когато на процедура самичък е създавал операционна система и браузър, освен това от нулата, никоя помощ не би била непотребна. Вероятно в този момент той употребява други асистенти с изкуствен интелект за писане на по-опростения код, където не се изисква специфичен гений. Това може би частично изяснява невероятното му показване.
В YouTube канала си Андреас разисква освен SerenityOS, само че и други тематики, свързани с програмирането, в това число занимателни истории от предходните си работни места, макар че през последните години традицията на „ диалозите зад кормилото “ е прекъсната. В тези издания той дава препоръки по какъв начин да останете фокусирани и да се концентрирате върху настоящите задания, тъй че да не изпадате в прокрастинация. Подобно на Линус Торвалдс, той избира да не употребява дебъгер при създаването.
В едно изявление Андреас споделя, че SerenityOS е просто метод той и всички, участващи в този план, да се любуват на програмирането.
SerenityOS
През първите шест месеца Клинг работи самичък, а по-късно пуска разработките онлайн и кани всички искащи да вземат участие. Първото предаване е от 18-ти октомври 2018 година По това време хранилището е включвало четири съставния елемент:
Библиотеката за услуги AK; ELF стратегия за зареждане на изпълними файлове; парсер на файловата система ext2; прост инструментариум за графичен потребителски интерфейс върху SDL.Това са били четири дребни обособени плана, с които Андреас се е занимавал на C++, просто с цел да запълни времето си и да откри още веднъж себе си. Опитва се да напише и x86 ядро на C, само че не се получава.
Първият скрийншот на това, което по-късно се трансформира в SerenityOS:
Тестване на графичен потребителски интерфейс върху SDL в Linux:
Първо зареждане на GUI на личното ядро, януари 2019 г:
Разработката върви с бързи темпове. През февруари създателят написва FontEditor и Clock и портва GNU bc:
След няколко дни прибавя поддръжката на тапета и програмата Top:
… по-късно се появяват файловият управител и мениджърът на процеси, мрежовият стек, IRC клиентът, инструментът VisualBuilder за GUI програмиране, първият опит за преместване на GCC (частично успешен), графичният редактор PaintBrush, първата версия на браузъра и така нататък Разработката на всяка от горните стратегии лишава няколко дни или седмици. Всеки месец създателят разгласява видеоотчет за осъществената работа. Така протича първата година, по-късно втората, третата и така нататък
След анонса в Reddit новата екзотична операционна система закупи популярност и известност. Както беше упоменато нагоре, Андреас напуща работата си през май 2021 година, с цел да посвети цялото си свободно време на създаването.
Един от скрийншотите от 2021 г:
След три години битие SerenityOS се трансформира в плана на живота му. Голяма общественост от запалянковци се включва в създаването.
Днес операционната система поддържа набора от указания x86-64, лично ядро и доста комплицирани приложения в пакета, в това число личния уеб браузър Ladybird и интегрирана среда за разработка (IDE).
SerenityOS има за цел да бъде съвременна операционна система, сходна на Unix, с външен тип и чувство, напомнящи операционните системи от 90-те години на предишния век, като Windows и Mac OS от това време. Включването на код на трети страни в системата не се насърчава; общоприето е всичко да се написа независимо.
Така да вземем за пример уеб браузърът не употребява действителен енджин като WebKit, а личен LibWeb. Въпреки това има сбирка от пренесен програмен продукт, в това число GCC, Git и Doom, с разнообразни равнища на функционалност.
Разработката не се подчинява на график; няма версии като такива. Освен това не се популяризират бинарни дистрибуции: от всички консуматори се чака да основат системата от сорс кода.
Системата е написана на език, който създателят назовава Serenity C++ – вид на C++, в който няма изключения и се употребява лична общоприета библиотека.
Като се има поради смисъла на плана за Андреас Клинг, беше изненадващо да научим, че през юни 2024 година той афишира оставката си като „ великодушен доживотен деспот “ (BDFL).
Ladybird
Благодарение на помощта на запалянковци през последните две години той съумява да се концентрира съвсем напълно върху създаването на браузъра Ladybird. От елементарен HTML браузър той се трансформира в същински междуплатформен браузър (Linux, macOS и Windows под WSL). Сега Андреас се концентрира върху версията за Linux. Той е толкоз обхванат от нея, че не може да си спомни по кое време е писал код за SerenityOS, който да не е обвързван с Ladybird.
Както споменахме, Андреас е работил по енджина WebKit в Apple. В биографичния раздел на персоналния си уеб страница той написа: в случай че в този момент употребявате някой браузър, „ има огромна възможност той да работи малко по-бързо с помощта на мен„. Тоест той има опит.
На доктрина Ladybird е изцяло самостоятелен браузър със личен нов енджин, който се базира на уеб стандартите. Но сега той е в положение на pre-alpha и е подобаващ за потребление единствено от разработчиците.
Така че в този момент общността на SerenityOS е разграничена на две групи: тези, които работят по операционната система, и тези, които работят по браузъра. Ladybird към този момент се смята за пълновръстен самостоятелен план в ново вместилище с фокус върху Linux и macOS, а самата SerenityOS е напълно под контрола на запалянковците.
Разработването на актуален браузър със личен енджин е не по-малко предизвикателство от написването на лична операционна система. Така да вземем за пример размерът на кодовата база на Chromium е по-голям от този на FreeBSD, в това число LLVM. В света има десетки, в случай че не и стотици любителски Оценка за съвместимост, които са написани от нулата за развлечение, някои безусловно за месец. Но има доста по-малко междуплатформени браузъри. Някои споделят, че в днешно време е съвсем невероятно да се напише нов браузър от нулата. Андреас желае да потвърди противоположното. Въпреки че лишава доста време, въпреки всичко е допустимо, в случай че вършите работата малко по малко, като се движите праволинейно към задачата. Както и преди, той разгласява видеоклипове за построяването на разнообразни съставни елементи на браузъра, като да вземем за пример JIT компилатора за JavaScript.
Изглежда, че Андреас Клинг е изгубил интерес към SerenityOS и се е концентрирал върху браузъра. Е, това е преимуществото на опенсорса, където можете сами да избирате какво да работите. Главното е, че заниманието извършва лечебната си цел.




