{"id":37902,"date":"2019-10-31T22:20:28","date_gmt":"2019-10-31T19:20:28","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-sozdat-open-source-proekt\/"},"modified":"2019-10-31T22:20:28","modified_gmt":"2019-10-31T19:20:28","slug":"kak-sozdat-open-source-proekt","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-sozdat-open-source-proekt","title":{"rendered":"Jak stworzy\u0107 projekt open source","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Jak stworzy\u0107 projekt open source\" src=\"\/wp-content\/uploads\/2019\/09\/e3a30a36d638b00ff2be7435e50985f9.jpg\" style=\"display:block;margin: 0 auto;\" \/>Ju\u017c w tym tygodniu w Petersburgu odb\u0119dzie si\u0119 festiwal IT <noindex><a rel=\"nofollow\" href=\"https:\/\/techtrain.ru\/?utm_source=partner&amp;utm_medium=Embox&amp;utm_campaign=techtrain2019&amp;utm_content=common\">TechTrain<\/a><\/noindex>. Jednym z prelegent\u00f3w b\u0119dzie Richard Stallman. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/embox\/embox\">Embox<\/a><\/noindex> te\u017c bierze udzia\u0142 w festiwalu, i oczywi\u015bcie nie mogli\u015bmy przej\u015b\u0107 oboj\u0119tnie obok tematu otwartego oprogramowania. Dlatego jeden z naszych wyk\u0142ad\u00f3w nosi nazw\u0119 <noindex><a rel=\"nofollow\" href=\"https:\/\/techtrain.ru\/2019\/talks\/3ugmbweakxi2tgfjvtfd1o\/\"> \u201eOd studenckiego projektu do projektu opensource. Do\u015bwiadczenia Embox\u201d<\/a><\/noindex>. B\u0119dzie on po\u015bwi\u0119cony historii rozwoju Embox jako projektu z otwartym kodem. W tym artykule chc\u0119 opowiedzie\u0107 o podstawowych ideach, kt\u00f3re moim zdaniem wp\u0142ywaj\u0105 na rozw\u00f3j projekt\u00f3w opensource. Artyku\u0142, podobnie jak wyk\u0142ad, oparty jest na osobistym do\u015bwiadczeniu.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Zacznijmy od prostego okre\u015blenia terminu opensource. Oczywiste jest, \u017ce projekt z otwartym kodem to projekt posiadaj\u0105cy jedn\u0105 z licencji, kt\u00f3re umo\u017cliwiaj\u0105 dost\u0119p do kodu \u017ar\u00f3d\u0142owego projektu. Ponadto otwarty projekt oznacza mo\u017cliwo\u015b\u0107 wprowadzania zmian przez zewn\u0119trznych programist\u00f3w. To znaczy, \u017ce je\u015bli jaka\u015b firma lub programista opublikuje kod swojego produktu, cz\u0119\u015bciowo lub w ca\u0142o\u015bci, to nie czyni to jeszcze tego produktu projektem opensource. I wreszcie, wszelka dzia\u0142alno\u015b\u0107 projektowa powinna prowadzi\u0107 do powstania jakiego\u015b rezultatu, przy czym otwarto\u015b\u0107 projektu oznacza, \u017ce ten wynik wykorzystuj\u0105 nie tylko sami programi\u015bci. <\/p>\n<p>Nie b\u0119dziemy porusza\u0107 problem\u00f3w zwi\u0105zanych z otwartymi licencjami. To zbyt du\u017cy i skomplikowany temat, kt\u00f3ry wymaga g\u0142\u0119bokiego zrozumienia. W tej kwestii napisano do\u015b\u0107 wiele dobrych artyku\u0142\u00f3w i materia\u0142\u00f3w. Ale poniewa\u017c sam nie jestem specjalist\u0105 w dziedzinie prawa autorskiego, powiem tylko, \u017ce licencja powinna odpowiada\u0107 celom projektu. Na przyk\u0142ad, dla Embox wyb\u00f3r licencji BSD, a nie GPL nie by\u0142 przypadkowy.<\/p>\n<p>Fakt, \u017ce projekt open source musi umo\u017cliwia\u0107 wprowadzanie zmian i wp\u0142ywanie na rozw\u00f3j projektu, oznacza, \u017ce projekt jest rozproszony. Zarz\u0105dzanie nim, zachowanie jego integralno\u015bci i funkcjonalno\u015bci jest znacznie trudniejsze w por\u00f3wnaniu do projektu maj\u0105cego centralne zarz\u0105dzanie. Pojawia si\u0119 uzasadnione pytanie, po co w og\u00f3le realizowa\u0107 projekty open source. Odpowied\u017a le\u017cy w obszarze zasadno\u015bci komercyjnej \u2013 w przypadku okre\u015blonej klasy projekt\u00f3w zyski z takiego podej\u015bcia przewy\u017cszaj\u0105 koszty. Oznacza to, \u017ce nie wszystkie projekty nadaj\u0105 si\u0119 do otwartego podej\u015bcia, a w og\u00f3le mo\u017cliwe jest takie podej\u015bcie. Na przyk\u0142ad, trudno wyobrazi\u0107 sobie opracowanie systemu zarz\u0105dzania elektrowni\u0105 lub samolotem, opartego na otwartym zasadzie. Nie, oczywi\u015bcie w sk\u0142ad takich system\u00f3w powinny wchodzi\u0107 modu\u0142y oparte na projektach open source, poniewa\u017c przynosi to wiele korzy\u015bci. Ale za ko\u0144cowy produkt musi kto\u015b odpowiada\u0107. Nawet je\u015bli system jest ca\u0142kowicie oparty na kodzie projekt\u00f3w open source, programista, pakuj\u0105c wszystko w jeden system i dokonuj\u0105c konkretnych kompilacji oraz ustawie\u0144, w istocie go zamyka. Kod mo\u017ce by\u0107 przy tym dost\u0119pny publicznie.<\/p>\n<p>Dla tych system\u00f3w istnieje wiele zalet z tworzenia otwartych projekt\u00f3w lub uczestnictwa w nich. Jak ju\u017c powiedzia\u0142em, kod ko\u0144cowego systemu mo\u017ce pozosta\u0107 publicznie dost\u0119pny. Po co, skoro oczywiste jest, \u017ce ma\u0142o kto ma taki sam samolot, aby przetestowa\u0107 system. To prawda, ale mog\u0105 si\u0119 znale\u017a\u0107 ch\u0119tni, aby sprawdzi\u0107 pojedyncze fragmenty kodu, lub na przyk\u0142ad, kto\u015b mo\u017ce odkry\u0107, \u017ce u\u017cywana biblioteka nie jest do ko\u0144ca poprawnie skonfigurowana. <\/p>\n<p>Jeszcze wi\u0119ksze korzy\u015bci pojawiaj\u0105 si\u0119, gdy firma wydziela pewn\u0105 podstawow\u0105 cz\u0119\u015b\u0107 systemu do osobnego projektu. Na przyk\u0142ad, bibliotek\u0119 do wsparcia jakiego\u015b protoko\u0142u wymiany danych. W takim przypadku, nawet je\u015bli protok\u00f3\u0142 jest specyficzny dla danej dziedziny, mo\u017cna podzieli\u0107 koszty utrzymania tej cz\u0119\u015bci systemu z innymi firmami z tej bran\u017cy. Ponadto specjali\u015bci, kt\u00f3rzy mog\u0105 zbada\u0107 t\u0119 cz\u0119\u015b\u0107 systemu w otwartym dost\u0119pie, potrzebuj\u0105 znacznie mniej czasu na jej efektywne wykorzystanie. I wreszcie, wydzielenie fragmentu do samodzielnej jednostki, z kt\u00f3rej korzystaj\u0105 zewn\u0119trzni deweloperzy, pozwala uczyni\u0107 t\u0119 cz\u0119\u015b\u0107 lepsz\u0105, poniewa\u017c trzeba oferowa\u0107 efektywne API, stworzy\u0107 dokumentacj\u0119, a nawet nie wspominam o poprawie pokrycia testowego. <\/p>\n<p>Firma mo\u017ce uzyska\u0107 korzy\u015bci komercyjne tak\u017ce bez tworzenia otwartych projekt\u00f3w, wystarczy, aby jej specjali\u015bci brali udzia\u0142 w zewn\u0119trznych projektach wykorzystywanych w firmie. Wszystkie zalety pozostaj\u0105: pracownicy lepiej znaj\u0105 projekt, co oznacza, \u017ce efektywniej go wykorzystuj\u0105, firma mo\u017ce wp\u0142ywa\u0107 na kierunek rozwoju projektu, a korzystanie z gotowego, przetestowanego kodu oczywi\u015bcie obni\u017ca koszty firmy.<\/p>\n<p>Na tym korzy\u015bci z tworzenia projekt\u00f3w opensource si\u0119 nie ko\u0144cz\u0105. We\u017amy pod uwag\u0119 taki wa\u017cny element biznesu jak marketing. Dla niego to bardzo dobra piaskownica, kt\u00f3ra pozwala efektywnie oceni\u0107 wymagania rynku.<\/p>\n<p>I oczywi\u015bcie nie mo\u017cna zapomina\u0107, \u017ce projekt opensource jest efektywnym sposobem na zaprezentowanie si\u0119 jako no\u015bnik jakiej\u015b specjalizacji. W niekt\u00f3rych przypadkach to wr\u0119cz jedyny spos\u00f3b na wej\u015bcie na rynek. Na przyk\u0142ad, Embox rozpocz\u0105\u0142 jako projekt tworzenia OSRV. Pewnie nie trzeba t\u0142umaczy\u0107, \u017ce jest mn\u00f3stwo konkurent\u00f3w. Bez stworzenia spo\u0142eczno\u015bci, po prostu nie mieliby\u015bmy wystarczaj\u0105cych zasob\u00f3w, aby doprowadzi\u0107 projekt do ko\u0144cowego u\u017cytkownika, czyli aby projekt wykorzystywali zewn\u0119trzni deweloperzy.<\/p>\n<p>Spo\u0142eczno\u015b\u0107 jest kluczowa w projekcie opensource. Pozwala znacznie obni\u017cy\u0107 koszty zarz\u0105dzania projektem, rozwija i wspiera projekt. Mo\u017cna powiedzie\u0107, \u017ce bez spo\u0142eczno\u015bci w og\u00f3le nie ma projektu opensource.<\/p>\n<p>O tym, jak stworzy\u0107 i zarz\u0105dza\u0107 spo\u0142eczno\u015bci\u0105 projektu z otwartym kodem, napisano wiele materia\u0142\u00f3w. Ja, aby nie powtarza\u0107 znanych fakt\u00f3w, postaram si\u0119 skupi\u0107 na do\u015bwiadczeniach Embox. Na przyk\u0142ad, bardzo interesuj\u0105cym zagadnieniem jest proces tworzenia spo\u0142eczno\u015bci. To znaczy, wielu m\u00f3wi, jak zarz\u0105dza\u0107 istniej\u0105c\u0105 spo\u0142eczno\u015bci\u0105, ale momenty jej tworzenia cz\u0119sto zostaj\u0105 pomini\u0119te, uznawane za co\u015b oczywistego.<\/p>\n<p>G\u0142\u00f3wna zasada przy tworzeniu spo\u0142eczno\u015bci projektu open-source to brak jakichkolwiek regu\u0142. Mam na my\u015bli, \u017ce nie istniej\u0105 uniwersalne zasady, tak jak nie ma srebrnej kuli, chocia\u017cby dlatego, \u017ce projekty s\u0105 bardzo r\u00f3\u017cne. Trudno by\u0142oby zastosowa\u0107 te same zasady przy tworzeniu spo\u0142eczno\u015bci dla biblioteki logowania w js oraz dla jakiego\u015b w\u0105sko wyspecjalizowanego sterownika. Co wi\u0119cej, na r\u00f3\u017cnych etapach rozwoju projektu (a tym samym spo\u0142eczno\u015bci) zasady si\u0119 zmieniaj\u0105. <\/p>\n<p>Embox rozpocz\u0105\u0142 si\u0119 jako projekt studencki, poniewa\u017c mieli\u015bmy dost\u0119p do student\u00f3w z katedry programowania systemowego. W zasadzie wchodzili\u015bmy w jakie\u015b inne \u015brodowisko. Uczestnik\u00f3w tej spo\u0142eczno\u015bci, student\u00f3w, mogli\u015bmy zainteresowa\u0107 dobr\u0105 praktyk\u0105 przemys\u0142ow\u0105 w ich specjalno\u015bci, pracami naukowymi w dziedzinie programowania systemowego, pracami semestralnymi i dyplomowymi. To znaczy, \u017ce realizowali\u015bmy jedn\u0105 z podstawowych zasad organizacji spo\u0142eczno\u015bci: uczestnicy spo\u0142eczno\u015bci musz\u0105 co\u015b zyska\u0107, a cena tego zysku powinna odpowiada\u0107 wk\u0142adowi uczestnika.<\/p>\n<p>Nast\u0119pnym etapem dla Embox by\u0142o poszukiwanie zewn\u0119trznych u\u017cytkownik\u00f3w. Bardzo wa\u017cne jest zrozumienie, \u017ce u\u017cytkownicy s\u0105 pe\u0142noprawnymi uczestnikami spo\u0142eczno\u015bci open-source. Zazwyczaj u\u017cytkownik\u00f3w jest wi\u0119cej ni\u017c programist\u00f3w. Aby sta\u0107 si\u0119 wsp\u00f3\u0142tw\u00f3rc\u0105 projektu, najpierw w ten czy inny spos\u00f3b zaczynaj\u0105 go u\u017cywa\u0107.<\/p>\n<p>Pierwszymi u\u017cytkownikami Embox by\u0142a Katedra Teoretycznej Cybernetyki. Zaproponowali stworzenie alternatywnego oprogramowania dla Lego Mindstorm. I chocia\u017c byli to wci\u0105\u017c lokalni u\u017cytkownicy (mogli\u015bmy si\u0119 z nimi spotka\u0107 osobi\u015bcie i om\u00f3wi\u0107, czego potrzebuj\u0105), to i tak by\u0142 to bardzo dobry do\u015bwiadczenie. Na przyk\u0142ad stworzyli\u015bmy demo, kt\u00f3re mog\u0142y by\u0107 pokazane innym, poniewa\u017c roboty s\u0105 ciekawe i przyci\u0105gaj\u0105 uwag\u0119. Ostatecznie pojawi\u0142y si\u0119 prawdziwe zewn\u0119trzne u\u017cytkownicy, kt\u00f3rzy zacz\u0119li pyta\u0107, czym jest Embox i jak z niej korzysta\u0107.<\/p>\n<p>Na tym etapie musieli\u015bmy zacz\u0105\u0107 my\u015ble\u0107 o dokumentacji i \u015brodkach komunikacji z u\u017cytkownikami. Oczywi\u015bcie my\u015bleli\u015bmy o tych wa\u017cnych rzeczach wcze\u015bniej, ale to by\u0142o przedwcze\u015bnie i nie przynosi\u0142o pozytywnego efektu. Efekt by\u0142 raczej negatywny. Podam kilka przyk\u0142ad\u00f3w. U\u017cywali\u015bmy googlecode, kt\u00f3rego wiki wspiera\u0142o wieloj\u0119zyczno\u015b\u0107. Stworzyli\u015bmy strony w kilku j\u0119zykach, nie tylko w angielskim i rosyjskim, na kt\u00f3rych mogli\u015bmy, w miar\u0119 mo\u017cliwo\u015bci, komunikowa\u0107 si\u0119, ale tak\u017ce w niemieckim i hiszpa\u0144skim. W rezultacie by\u0142o bardzo nieporadnie, gdy pytano w tych j\u0119zykach, a my nie mogli\u015bmy w og\u00f3le odpowiedzie\u0107. Wprowadzali\u015bmy r\u00f3wnie\u017c zasady pisania dokumentacji i komentarzy, ale poniewa\u017c API zmienia\u0142o si\u0119 do\u015b\u0107 cz\u0119sto i w spos\u00f3b istotny, nasza dokumentacja szybko stawa\u0142a si\u0119 przestarza\u0142a i wprowadza\u0142a w b\u0142\u0105d bardziej ni\u017c pomaga\u0142a.<\/p>\n<p>Ostatecznie wszystkie nasze wysi\u0142ki, nawet te niepoprawne, doprowadzi\u0142y do pojawienia si\u0119 zewn\u0119trznych u\u017cytkownik\u00f3w. Zjawi\u0142 si\u0119 nawet komercyjny zleceniodawca, kt\u00f3ry chcia\u0142, aby\u015bmy opracowali dla niego w\u0142asny system operacyjny. I opracowali\u015bmy go, poniewa\u017c mamy do\u015bwiadczenie i pewne rozwi\u0105zania. Musz\u0119 opowiedzie\u0107 zar\u00f3wno o dobrych, jak i o z\u0142ych momentach. Zaczn\u0119 od rzeczy z\u0142ych. Poniewa\u017c wielu programist\u00f3w zosta\u0142o zaanga\u017cowanych w ten projekt na podstawie komercyjnej, spo\u0142eczno\u015b\u0107, i tak do\u015b\u0107 nieustabilizowana, podzieli\u0142a si\u0119, co oczywi\u015bcie nie mog\u0142o nie wp\u0142yn\u0105\u0107 na rozw\u00f3j projektu. Dodatkowym czynnikiem by\u0142o to, \u017ce kierunek projektu by\u0142 okre\u015blany przez jednego kluczowego zleceniodawc\u0119, a jego celem nie by\u0142o dalsze rozwijanie projektu. Przynajmniej ten cel nie by\u0142 priorytetowy.<\/p>\n<p>Z drugiej strony, by\u0142o wiele pozytywnych aspekt\u00f3w. Otrzymali\u015bmy naprawd\u0119 zewn\u0119trznych u\u017cytkownik\u00f3w. To byli nie tylko klienci, ale tak\u017ce ci, dla kt\u00f3rych ten system zosta\u0142 stworzony. Motywacja do uczestnictwa w projekcie wzros\u0142a. W ko\u0144cu, je\u015bli na interesuj\u0105cym przedsi\u0119wzi\u0119ciu mo\u017cna r\u00f3wnie\u017c zarobi\u0107, to zawsze jest mi\u0142e. Co najwa\u017cniejsze, us\u0142yszeli\u015bmy jedno \u017cyczenie klient\u00f3w, kt\u00f3re w\u00f3wczas wydawa\u0142o nam si\u0119 dziwne, ale kt\u00f3re teraz jest g\u0142\u00f3wn\u0105 ide\u0105 Embox, a mianowicie, wykorzystanie w systemie ju\u017c opracowanego kodu. Teraz g\u0142\u00f3wn\u0105 ide\u0105 Embox jest u\u017cycie oprogramowania Linux bez Linuxa. To znaczy, \u017ce g\u0142\u00f3wnym pozytywnym aspektem sprzyjaj\u0105cym dalszemu rozwojowi projektu by\u0142o u\u015bwiadomienie sobie, \u017ce projekt jest u\u017cywany przez zewn\u0119trznych u\u017cytkownik\u00f3w i ma rozwi\u0105zywa\u0107 ich problemy.<\/p>\n<p>W tamtym czasie Embox ju\u017c wyszed\u0142 poza ramy projektu studenckiego. G\u0142\u00f3wnym czynnikiem hamuj\u0105cym rozw\u00f3j projektu w modelu studenckim jest motywacja uczestnik\u00f3w. Studenci bior\u0105 udzia\u0142, dop\u00f3ki si\u0119 ucz\u0105, a kiedy ko\u0144cz\u0105 studia, musz\u0105 mie\u0107 inn\u0105 motywacj\u0119. Je\u015bli motivacja si\u0119 nie pojawi, student po prostu przestaje uczestniczy\u0107 w projekcie. Je\u015bli wzi\u0105\u0107 pod uwag\u0119, \u017ce student\u00f3w najpierw trzeba nauczy\u0107, to okazuje si\u0119, \u017ce dobrymi specjalistami staj\u0105 si\u0119 w momencie uko\u0144czenia studi\u00f3w, ale ich wk\u0142ad w projekt, z powodu braku do\u015bwiadczenia, nie jest zbyt wielki.<\/p>\n<p>Og\u00f3lnie rzecz bior\u0105c, p\u0142ynnie przechodzimy do g\u0142\u00f3wnego momentu, kt\u00f3ry pozwala m\u00f3wi\u0107 o stworzeniu projektu open source \u2014 stworzeniu produktu, kt\u00f3ry rozwi\u0105zuje problemy jego u\u017cytkownik\u00f3w. Jak ju\u017c wcze\u015bniej wyja\u015bni\u0142em, podstawow\u0105 cech\u0105 projektu open source jest jego spo\u0142eczno\u015b\u0107. A uczestnicy spo\u0142eczno\u015bci to przede wszystkim u\u017cytkownicy. Ale sk\u0105d maj\u0105 si\u0119 wzi\u0105\u0107, skoro nie maj\u0105 z czego korzysta\u0107? Okazuje si\u0119 wi\u0119c, \u017ce podobnie jak w przypadku projektu nie-open source, trzeba skupi\u0107 si\u0119 na stworzeniu MVP (minimalnego op\u0142acalnego produktu), a je\u015bli przyci\u0105gnie to u\u017cytkownik\u00f3w, wok\u00f3\u0142 projektu pojawi si\u0119 spo\u0142eczno\u015b\u0107. Je\u015bli jednak zajmiemy si\u0119 tworzeniem spo\u0142eczno\u015bci tylko poprzez PR, pisanie wiki we wszystkich j\u0119zykach \u015bwiata albo odpowiedni workflow git na GitHubie, to ma\u0142o prawdopodobne, \u017ceby mia\u0142o to znaczenie na wczesnych etapach projektu. Oczywi\u015bcie, na odpowiednich etapach s\u0105 to nie tylko wa\u017cne, ale r\u00f3wnie\u017c konieczne rzeczy.<\/p>\n<p>Na zako\u0144czenie pragn\u0119 przytoczy\u0107 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/459602\/#comment_20398195\">komentarz<\/a><\/noindex>, moim zdaniem odzwierciedlaj\u0105cy oczekiwania u\u017cytkownika wobec projektu opensource:<\/p>\n<blockquote><p>Powa\u017cnie my\u015bl\u0119 o przej\u015bciu na ten system operacyjny (przynajmniej na spr\u00f3bowanie. Zbyt aktywnie go rozwijaj\u0105 i robi\u0105 niesamowite rzeczy).<\/p><\/blockquote>\n<p>\nP. S. Na <noindex><a rel=\"nofollow\" href=\"https:\/\/vk.com\/away.php?to=https%3A%2F%2Ftechtrain.ru%2F%3Futm_source%3Dpartner%26utm_medium%3DEmbox%26utm_campaign%3Dtechtrain2019%26utm_content%3Dcommon&amp;post=-54669112_181&amp;cc_key=\">TechTrain<\/a><\/noindex> b\u0119dziemy mieli a\u017c trzy prezentacje. Jedna dotyczy open source, a dwie dotycz\u0105 embedded (przy czym jedna b\u0119dzie praktyczna). Na stoisku przeprowadzimy warsztat programowania mikrokontroler\u00f3w przy u\u017cyciu <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/embox\/embox\">Embox<\/a><\/noindex>. Tradycyjnie przywieziemy sprz\u0119t i pozwolimy go zaprogramowa\u0107. B\u0119dzie te\u017c quest i inne aktywno\u015bci. Zapraszamy na festiwal i na nasze stoisko, b\u0119dzie weso\u0142o.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/embox\/blog\/464189\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0423\u0436\u0435 \u043d\u0430 \u044d\u0442\u043e\u0439 \u043d\u0435\u0434\u0435\u043b\u0435 \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u043f\u0440\u043e\u0439\u0434\u0435\u0442 IT-\u0444\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c TechTrain. \u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u0441\u043f\u0438\u043a\u0435\u0440\u043e\u0432 \u0431\u0443\u0434\u0435\u0442 \u0420\u0438\u0447\u0430\u0440\u0434 \u0421\u0442\u043e\u043b\u043b\u043c\u0430\u043d. Embox \u0442\u043e\u0436\u0435 \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u0444\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u0435, \u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u043c\u044b \u043d\u0435 \u043c\u043e\u0433\u043b\u0438 \u043e\u0431\u043e\u0439\u0442\u0438 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435\u043c \u0442\u0435\u043c\u0443 \u0421\u041f\u041e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0434\u0438\u043d \u0438\u0437 \u043d\u0430\u0448\u0438\u0445 \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u201c\u041e\u0442 \u0441\u0442\u0443\u0434\u0435\u043d\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u043e\u0434\u0435\u043b\u043a\u0438 \u0434\u043e opensource \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u041e\u043f\u044b\u0442 Embox\u201d. \u041e\u043d \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f Embox \u043a\u0430\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c. \u0412 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28444,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37902","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0423\u0436\u0435 \u043d\u0430 \u044d\u0442\u043e\u0439 \u043d\u0435\u0434\u0435\u043b\u0435 \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u043f\u0440\u043e\u0439\u0434\u0435\u0442 IT-\u0444\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-sozdat-open-source-proekt\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c open source \u043f\u0440\u043e\u0435\u043a\u0442 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0423\u0436\u0435 \u043d\u0430 \u044d\u0442\u043e\u0439 \u043d\u0435\u0434\u0435\u043b\u0435 \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u043f\u0440\u043e\u0439\u0434\u0435\u0442 IT-\u0444\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-sozdat-open-source-proekt\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:20:28+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:20:28+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Jak stworzy\u0107 projekt open source | ProHoster","description":"Ju\u017c w tym tygodniu w Sankt Petersburgu odb\u0119dzie si\u0119 festiwal IT.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-sozdat-open-source-proekt","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c open source \u043f\u0440\u043e\u0435\u043a\u0442 | ProHoster","og:description":"\u0423\u0436\u0435 \u043d\u0430 \u044d\u0442\u043e\u0439 \u043d\u0435\u0434\u0435\u043b\u0435 \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u043f\u0440\u043e\u0439\u0434\u0435\u0442 IT-\u0444\u0435\u0441\u0442\u0438\u0432\u0430\u043b\u044c.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-sozdat-open-source-proekt","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:20:28+00:00","article:modified_time":"2019-10-31T19:20:28+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37902","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 19:41:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:18:23","updated":"2026-01-23 19:41:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/37902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=37902"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/37902\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/28444"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=37902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=37902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=37902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}