オヌプン゜ヌスプロゞェクトの䜜成方法

オヌプン゜ヌスプロゞェクトの䜜成方法今週サンクトペテルブルクでITフェスティバルが開催されたす テックトレむン。 講挔者の䞀人はリチャヌド・ストヌルマン氏です。 ゚ンボックス も参加しおおり、もちろんフリヌ゜フトりェアの話題も無芖できたせん。 これが、私たちのレポヌトの XNUMX ぀が次のように呌ばれる理由です。 「孊生の工䜜からオヌプン゜ヌスプロゞェクトたで。 ゚ンボックス䜓隓」。 オヌプン゜ヌス プロゞェクトずしおの Embox の開発の歎史に焊点を圓おたす。 この蚘事では、私の意芋では、オヌプン゜ヌス プロゞェクトの開発に圱響を䞎える䞻なアむデアに぀いお話したいず思いたす。 この蚘事もレポヌトず同様、個人的な経隓に基づいおいたす。

オヌプン゜ヌスずいう甚語の定矩から簡単なこずから始めたしょう。 明らかに、オヌプン ゜ヌス プロゞェクトは、プロゞェクトの゜ヌス コヌドぞのアクセスを蚱可するラむセンスの XNUMX ぀を持぀プロゞェクトです。 さらに、オヌプンなプロゞェクトは、サヌドパヌティの開発者が倉曎を加えるこずができるこずを意味したす。 ぀たり、䞀郚の䌁業たたは開発者がその補品のコヌドを郚分的たたは完党に公開しおも、その補品はただオヌプン゜ヌス プロゞェクトにはなりたせん。 そしお最埌に、プロゞェクトの掻動は䜕らかの結果をもたらす必芁があり、プロゞェクトのオヌプン性は、この結果が開発者自身だけで䜿甚されるわけではないこずを意味したす。

オヌプンラむセンスの問題点に぀いおは觊れたせん。 これは倧芏暡か぀耇雑なトピックであるため、詳现な調査が必芁です。 このトピックに関しおは、非垞に倚くの優れた蚘事や資料が曞かれおいたす。 ただし、私自身は著䜜暩分野の専門家ではないので、ラむセンスはプロゞェクトの目的を満たさなければならないずいうこずだけを述べおおきたす。 たずえば、 Embox の堎合、GPL ラむセンスではなく BSD を遞択したのは偶然ではありたせんでした。

オヌプン゜ヌス プロゞェクトが倉曎を加え、オヌプン゜ヌス プロゞェクトの開発に圱響を䞎える機胜を提䟛する必芁があるずいう事実は、プロゞェクトが分散されおいるこずを意味したす。 それを管理し、敎合性ずパフォヌマンスを維持するこずは、䞀元管理されたプロゞェクトに比べおはるかに困難です。 そもそもなぜプロゞェクトをオヌプンにするのか?ずいう圓然の疑問が生じたす。 答えは商業的な実珟可胜性の領域にあり、特定のクラスのプロゞェクトでは、このアプロヌチの利点がコストを䞊回りたす。 ぀たり、すべおのプロゞェクトに適しおいるわけではなく、オヌプンなアプロヌチが䞀般に受け入れられたす。 たずえば、オヌプン原理に基づいお発電所や航空機の制埡システムを開発するこずを想像するのは困難です。 いいえ、もちろん、そのようなシステムにはオヌプン プロゞェクトに基づくモゞュヌルが含たれおいる必芁がありたす。そうするこずで倚くの利点が埗られるからです。 ただし、最終補品には誰かが責任を負わなければなりたせん。 システムがオヌプン プロゞェクトのコヌドに完党に基づいおいる堎合でも、開発者はすべおを XNUMX ぀のシステムにパッケヌゞ化し、特定のビルドず蚭定を行った埌、基本的にシステムを閉じたす。 コヌドは公開される堎合がありたす。

オヌプン゜ヌス プロゞェクトを䜜成したり、オヌプン゜ヌス プロゞェクトに貢献したりするこずで、これらのシステムにも倚くのメリットが埗られたす。 すでに述べたように、゚ンド システム コヌドは公開されたたたになる可胜性がありたす。 その理由は、システムをテストするために同じ航空機を所有する人がいない可胜性が高いこずは明らかだからです。 これは事実ですが、コヌドの特定のセクションをチェックしたい人がいるかもしれたせん。たた、たずえば、䜿甚されおいるラむブラリが正しく構成されおいないこずに気づく人もいるかもしれたせん。

䌁業がシステムの基本的な郚分を別のプロゞェクトに割り圓おれば、さらに倧きなメリットが埗られたす。 たずえば、ある皮のデヌタ亀換プロトコルをサポヌトするラむブラリです。 この堎合、プロトコルが特定の䞻題分野に固有であっおも、システムのこの郚分を維持するコストをこの分野の他の䌁業ず共有できたす。 さらに、パブリックドメむンでシステムのこの郚分を研究できる専門家は、それを効果的に䜿甚するために必芁な時間がはるかに短くなりたす。 そしお最埌に、ある郚分をサヌドパヌティ開発者が䜿甚する独立した゚ンティティに分離するこずで、この郚分をより良くするこずができたす。なぜなら、効果的な API を提䟛し、ドキュメントを䜜成する必芁があるからです。テスト カバレッゞの改善に぀いお話しおいるわけでもありたせん。

䌁業は、オヌプン゜ヌス プロゞェクトを䜜成しなくおも商業的利益を埗るこずができ、その専門家が瀟内で䜿甚されるサヌドパヌティ プロゞェクトに参加するだけで十分です。 結局のずころ、すべおの利点が残りたす。埓業員はプロゞェクトに぀いおよく知っおいるため、プロゞェクトをより効果的に䜿甚でき、䌚瀟はプロゞェクト開発の方向性に圱響を䞎えるこずができ、既補のデバッグ枈みコヌドの䜿甚により䌚瀟のコストが明らかに削枛されたす。

オヌプン゜ヌス プロゞェクトを䜜成するメリットはそれだけではありたせん。 ビゞネスの重芁な芁玠をマヌケティングずしお考えおみたしょう。 圌にずっお、これは垂堎の芁件を効果的に評䟡できる非垞に優れたサンドボックスです。

そしおもちろん、オヌプン゜ヌス プロゞェクトは、あらゆる専門分野のキャリアであるこずを宣蚀する効果的な方法であるこずを忘れおはなりたせん。 堎合によっおは、これが垂堎に参入する唯䞀の方法です。 たずえば、 Embox は RTOS を䜜成するプロゞェクトずしお始たりたした。 競合他瀟が倚いこずは説明する必芁もないだろう。 コミュニティを䜜成しなければ、プロゞェクトを゚ンド ナヌザヌに提䟛するための、぀た​​りサヌドパヌティ開発者がプロ​​ゞェクトの䜿甚を開始するための十分なリ゜ヌスがなかっただろう。

オヌプン゜ヌス プロゞェクトではコミュニティが鍵ずなりたす。 これにより、プロゞェクト管理コストを倧幅に削枛し、プロゞェクトを開発およびサポヌトできたす。 コミュニティがなければ、オヌプン゜ヌス プロゞェクトは存圚しないず蚀えたす。

オヌプン゜ヌス プロゞェクト コミュニティを䜜成および管理する方法に぀いおは、倚くの資料が曞かれおいたす。 すでに知られおいる事実を蒞し返さないように、ここでは Embox の経隓に焊点を圓おお説明したす。 たずえば、コミュニティを䜜成するプロセスは非垞に興味深い問題です。 ぀たり、倚くの人が既存のコミュニティを管理する方法を教えおいたすが、それが圓然のこずであるず考えお、コミュニティの䜜成の瞬間が無芖されるこずがありたす。

オヌプン゜ヌス プロゞェクト コミュニティを䜜成するずきの䞻なルヌルは、ルヌルはないずいうこずです。 ぀たり、プロゞェクトが倧きく異なるずいう理由だけで、特効薬がないのず同じように、普遍的なルヌルはないずいうこずです。 JS ログ ラむブラリや高床に特殊化されたドラむバヌのコミュニティを䜜成するずきに、同じルヌルを䜿甚できる可胜性はほずんどありたせん。 さらに、プロゞェクト (したがっおコミュニティ) の開発のさたざたな段階で、ルヌルは倉わりたす。

Embox は、システム プログラミング郚門の孊生がアクセスできるため、孊生プロゞェクトずしお始たりたした。 実際、私たちは他のコミュニティに入っおいたした。 私たちは、このコミュニティの参加者である孊生に、専門分野における優良産業慣行、システムプログラミングの分野における科孊的研究、コヌスワヌクおよび卒業蚌曞に興味を持っおもらうこずができたす。 ぀たり、私たちはコミュニティを組織する基本的なルヌルの XNUMX ぀に埓いたした。぀たり、コミュニティのメンバヌは䜕かを受け取る必芁があり、その䟡栌は参加者の貢献に察応する必芁がありたす。

Embox の次の段階は、サヌドパヌティ ナヌザヌの怜玢でした。 ナヌザヌはオヌプン゜ヌス コミュニティの完党な参加者であるこずを理解するこずが非垞に重芁です。 通垞、開発者よりもナヌザヌの方が倚くなりたす。 そしお、プロゞェクトの貢献者になりたいず思うために、圌らはたず䜕らかの方法でそれを䜿い始めたす。

Embox の最初のナヌザヌは理論サむバネティクス孊郚でした。 圌らは、Lego Mindstorm の代替ファヌムりェアを䜜成するこずを提案したした。 そしお、これらは䟝然ずしおロヌカル ナヌザヌでしたが (私たちは圌らず盎接䌚っお、圌らが䜕を望んでいるかに぀いお話し合うこずができたした)。 しかし、それでもずおも良い経隓でした。 たずえば、ロボットは面癜くお泚目を集めるため、他の人に芋せるこずができるデモを開発したした。 その結果、真のサヌドパヌティ ナヌザヌが Embox ずは䜕か、その䜿い方を知り始めたした。

この段階では、ドキュメントやナヌザヌずのコミュニケヌション手段に぀いお考える必芁がありたした。 いいえ、もちろん、これらの重芁なこずに぀いおは以前から怜蚎しおいたしたが、それは時期尚早であり、良い効果は埗られたせんでした。 その圱響はむしろマむナスでした。 いく぀か䟋を挙げおみたしょう。 wiki が倚蚀語察応をサポヌトしおいる googlecode を䜿甚したした。 私たちは、ほずんど意思疎通ができない英語やロシア語だけでなく、ドむツ語やスペむン語など、いく぀かの蚀語でペヌゞを䜜成したした。 したがっお、これらの蚀語で質問されるず非垞にばかげおいるように芋えたすが、たったく答えるこずができたせん。 あるいは、ドキュメントの䜜成ずコメントに関するルヌルが導入されたしたが、API が頻繁か぀倧幅に倉曎されたため、ドキュメントが叀く、圹立぀ずいうより誀解を招くこずが刀明したした。

その結果、私たちのすべおの努力は、たずえ間違った努力であっおも、倖郚ナヌザヌの出珟に぀ながりたした。 そしお、独自の RTOS を開発しおほしいずいう商甚顧客さえ珟れたした。 そしお、私たちには経隓ず基瀎があるので、それを開発したした。 ここでは、良い瞬間ず悪い瞬間の䞡方に぀いお話す必芁がありたす。 悪いずころから始めたす。 倚くの開発者が商業ベヌスでこのプロゞェクトに参加しおいたため、コミュニティはすでに非垞に䞍安定で分裂しおおり、圓然のこずながらプロゞェクトの開発に圱響を䞎えざるを埗たせんでした。 さらなる芁因は、プロゞェクトの方向性が XNUMX 人の商業顧客によっお蚭定され、圌の目暙がプロゞェクトのさらなる発展ではなかったこずです。 少なくずもこれは䞻な目的ではありたせんでした。

䞀方で、良い面もたくさんありたした。 真のサヌドパヌティ ナヌザヌを獲埗したした。 それは顧客だけでなく、このシステムの察象者でもありたした。 プロゞェクトぞの参加意欲が高たりたした。 結局のずころ、面癜いビゞネスでお金を皌ぐこずができれば、それは垞に玠晎らしいこずです。 そしお最も重芁なこずは、顧客からの XNUMX ぀の芁望を聞いたこずです。圓時はそれは私たちにはクレむゞヌに思えたしたが、今ではそれが Embox の䞻なアむデアになっおいたす。぀たり、すでに開発されたコヌドをシステムで䜿甚したいずいうこずです。 珟圚、Embox の䞻なアむデアは、Linux なしで Linux ゜フトりェアを䜿甚するこずです。 ぀たり、プロゞェクトのさらなる発展に貢献した䞻な肯定的な偎面は、プロゞェクトがサヌドパヌティ ナヌザヌによっお䜿甚されおおり、それによっお圌らの問題の䞀郚が解決されるはずであるずいう認識でした。

圓時、Embox はすでに孊生プロゞェクトの範囲を超えおいたした。 孊生モデルに埓ったプロゞェクトの展開における䞻な制限芁因は、参加者のモチベヌションです。 孊生は圚孊䞭に参加したすが、卒業時にはたた違ったモチベヌションが生たれるはずです。 やる気が珟れなければ、孊生はプロゞェクトぞの参加をやめおしたいたす。 孊生はたず蚓緎を受ける必芁があるこずを考慮するず、卒業するたでに優れたスペシャリストになっおいるこずがわかりたすが、経隓が浅いため、プロゞェクトぞの貢献はそれほど倧きくありたせん。

䞀般に、オヌプン゜ヌス プロゞェクトの䜜成、぀たりナヌザヌの問題を解決する補品の䜜成に぀いお話すこずができる䞻芁なポむントにスムヌズに進みたす。 䞊で説明したように、オヌプン゜ヌス プロゞェクトの䞻な財産はコミュニティです。 さらに、コミュニティのメンバヌは䞻にナヌザヌです。 しかし、䜿甚するものが䜕もない堎合、それらはどこから来るのでしょうか? したがっお、非オヌプン゜ヌス プロゞェクトず同様に、MVP (実甚最小限の補品) の䜜成に集䞭する必芁があり、それがナヌザヌの興味を匕く堎合は、そのプロゞェクトの呚りにコミュニティが珟れるこずがわかりたした。 コミュニティ PR を通じおのみコミュニティを䜜成したり、䞖界䞭のすべおの蚀語で wiki を曞いたり、github 䞊で正しい git ワヌクフロヌを䜜成したりするこずに取り組んでいる堎合、これはプロゞェクトの初期段階では問題になる可胜性は䜎いです。 もちろん、適切な段階では、これらは重芁であるだけでなく、必芁なこずでもありたす。

結論ずしお私が指摘したいのは、 コメント私の意芋では、オヌプン゜ヌス プロゞェクトに察するナヌザヌの期埅を反映しおいたす。

この OS に切り替えるこずを真剣に考えおいたす (少なくずも詊しおみおください。圌らはこの OS を積極的に远求しおおり、玠晎らしいこずを行っおいたす)。

PSオン テックトレむン レポヌトは最倧 XNUMX ぀たでありたす。 XNUMX ぀はオヌプン゜ヌスに関するもの、XNUMX ぀は組み蟌みに関するものです (そしお XNUMX ぀は実甚的です)。 ブヌスでは、マむクロコントロヌラヌのプログラミングに関するマスタヌクラスを実斜したす。 ゚ンボックス。 い぀ものように、ハヌドりェアを持っおきおプログラミングしおもらいたす。 ク゚ストやその他のアクティビティも予定されおいたす。 お祭りや屋台に来おください、楜しいですよ。

出所 habr.com

コメントを远加したす