無料のソフトウェア開発モデル:大聖堂とバザール

無料のソフトウェア開発モデル

無料のソフトウェア開発モデル

伽藍とバザールは、1.998年にエリックS.レイモンドが彼自身の視点と経験から説明しようと開発したマニフェストタイプのドキュメントです(Fetchmail Development) Linuxとその関連プログラムの作成と進化の成功について、特に彼が個人的に呼んだソフトウェア開発モデルの違いの観点から理解したこと:カテドラルモデルとバザールモデル。

そしてこの出版物では、フリーソフトウェア運動の開発者の間で非常に人気のあるマニフェストの分析と要約を提供します。 これは無料で利用でき、Webの多くの部分でアクセスできますが、次のWebリンクからダウンロードして、より迅速にアクセスできます。 大聖堂とバザール。

大聖堂とバザールの紹介

はじめに

この資料「大聖堂とバザール」は、ソフトウェアエンジニアリングの世界には、「XNUMXつのまったく異なる開発スタイルがある」というビジョンを示しています。、大聖堂モデル。Linuxの世界でより典型的なバザールモデルと比較して、商用ソフトウェアの世界で行われたほとんどの開発に適用できます。」

これらの2つのモデルは、ソフトウェアのデバッグプロセスの性質に関する反対の出発点から派生していることを強調します、および彼がリーナスの法則と呼んだものについての彼の特定の理論について、次のように述べています。

そして、それはハッカーという言葉を強調しています。私の意見では、著者はプログラムを理解して効率的に活用できる一種の高レベルのユーザーとして表現しました。、およびユーザーコミュニティ全体の効率的な形式と内容の修正または変更を検出、提案、または実装するため。

他の文献では、ハッカーと呼ばれるこの単語または概念は次のことを指します。

«特定の主題分野、特に技術分野に情熱を持ち、その知識を良性の目的に利用することを目的とする専門家。 知識に情熱を持ち、新しいことを発見して学び、それらがどのように機能するかを理解し、効果的な提案や提案でそれを改善する段階に到達し、常に意図を持っているのは、通常は知識の分野の専門家です知識を共有するか、研究対象の失敗や誤動作を回避します。

人間の知識のすべての分野に「ハッカー」がいるので、これはより普遍的で現実的な概念です。

フリーソフトウェアの開発の前提

開発

そのような資料を読んだ多くの人の中には、「Linuxは破壊的である」という考えが明確に表現されていることに同意する人もきっとたくさんいるでしょう。 しかし、なぜ?

その瞬間まであったので 「最初からより集中化され計画されたアプローチ」に基づく、標準化されたソフトウェア開発方法またはモデルの多様性 ソフトウェアを作成するという行為は、「特定の重大な複雑さ」につながる何かに関連するものと見なされていたためです。

そして、小さなツール、ラピッドプロトタイピング、進化的プログラミングで構成されるUnixの世界がすでに存在していたにもかかわらず、 Linuxでのフリーソフトウェア開発哲学の出現により、問題はさらに洗練されたレベルになりました。

つつ プライベートソフトウェア開発の世界では、それは「静かで敬虔な方法」で行われました。、大聖堂が建てられるのと同じように、 フリーソフトウェア開発の世界(Linux)では、「騒々しい方法で、複数のアジェンダ(パス)とアプローチ(提案)を使って」行われていました。、あなたが大きなバザーにいたように。

この素晴らしいマニフェストは、フリーソフトウェア開発モデルに関してそこで表明されたアイデアを凝縮するためのいくつかの前提を私たちに与えます。

前提1:大聖堂とバザール

前提#1

ソフトウェアのすべての良い仕事は、開発者の個人的な問題を喜ばせようとし始めます。

これは否定できない現実です。 フリーソフトウェア開発で働く人々の多くは、通常、個人的な問題や集団やグループの問題を解決する必要があるために始めます、または、より遅くおよび/または反復的な方法ですでに実行されているプロセスを最適化するため。これは、関係者の時間と労力を最大化しようとして、参加者にとって疲れたり退屈になったりする傾向があります。

前提2:大聖堂とバザール

前提#2

優れたプログラマーは何を書くべきかを知っています。 何を書き直して再利用するかを最もよく知っています。

プログラムやアプリケーションの開発に関しては、ゼロから始めることは悪いことでも不必要なことでもないことをプログラマーは知っています。 ただし、始めたばかりの人や、この問題にすでに精通している人にとっては、「車輪の再発明」があまり効率的でない場合があることはよく知られていますが、それを最適化して自分のニーズに適合させる方がよいでしょう。 言い換えれば、私たち自身のソフトウェア開発を解決するために、私たちに関係する分野の他の専門家からできるだけ多くのコードを書き直して同化する方が良いです。

前提3:大聖堂とバザール

前提#3

「少なくともXNUMXつを捨てることについて考えなさい-あなたはとにかくそれをすることになるだろう。」

優れたソフトウェア開発者は、開発のユーザーが言ったり、提案したり、提案したりすることを詳細に聞く方法を知っている必要があります。すでに機能しているプログラムは、機能しているにもかかわらず、非常に大きなものになる可能性があり、北を失うものです。すべての人のためにすべてを行い、ひいては不快な何かを行う機能的なモンスター。 したがって、元に戻って、失われたユーザーを取り戻し、新しい機能を追加し、不要な機能を削除し、プログラムをより小さく、より具体的かつ一般的にすることを聞くことは、常に良い習慣です。

前提4:大聖堂とバザール

前提#4

あなたが正しい態度を持っているなら、興味深い問題があなたを見つけるでしょう。

態度と時間の適切な変化は、現在または新しい開発における各プログラマーまたはソフトウェア開発者の根本的な変化を意味し、製品のユーザーにとって時間、お金、または快適さの新しい利点を意味します。 正しい方向に良い症状を示している問題を解決するための革新的な方法に目を光らせてください。

前提5:大聖堂とバザール

前提#5

プログラムに興味がなくなった場合、最後の義務はそれを有能な後継者に引き継ぐことです。

多くのプログラマーやソフトウェア開発者、および他の技術者にとって、新しいプロジェクトに新しい時間を費やしたいと思うことは珍しくありません。 しかし、フリーソフトウェアの世界では、バトンを渡すことが前提であり、すでに放棄された製品の開発を続けたいと思っている人もいます。そのため、誰もが自分自身またはプログラムのコミュニティユーザーの利益。

前提6:大聖堂とバザール

前提#6

ユーザーを共同編集者として扱うことは、プログラムを迅速に改善し、効果的にデバッグするためのそれほど複雑でない方法です。

フリーソフトウェアの開発では「無料」は「無料」と解釈されることが多いため、多くのプログラマーは、他の開発者や開発の上級ユーザーと同盟を結び、継続したり、他の人が継続したりすることで、無給の損耗を避けるためにグループ化する傾向があります。それらは、将来のコードイノベーションの開発で「クレジット」を受け取り、将来の開発にライセンスの誤用を防ぐための正式なライセンスが含まれるようにすることと引き換えに行われます。

前提7:大聖堂とバザール

前提#7

すぐにリリース。 頻繁に起動します。 そしてあなたのユーザーに耳を傾けます。

プロプライエタリソフトウェア開発の世界とは異なり、フリーソフトウェアでは、多くの場合、高速である方が優れています。 通常、コミュニティでプログラムを使用および開発し、次に相互に対話するユーザーと開発者の幅広い基盤は、疑問、提案、提案、苦情、および/または主張を伝達するために、迅速に貴重な知識源になる可能性があります開発の成熟段階に向けてプログラムを進化させます。

前提8:大聖堂とバザール

前提#8

テスターと寄稿者の幅広い基盤があれば、ほとんどすべての問題が迅速に特定され、その解決策は誰かに明らかです。

資料は、バザールモデルに基づくソフトウェア開発方法が非常に効果的であると読者に結論付けることで終わります。 ソフトウェア開発者がユーザーにプログラムについて提供する力、自由、知識が多ければ多いほど、ユーザーは集合的な利益のためだけに、独創的なアイデアや有用な変更を提供できます。

そして、これは次の資料からの抜粋で心地よく表現されています。

これが、大聖堂とバザールのスタイルの根本的な違いだと思います。 大聖堂がプログラミングを見る方法によると、間違いや開発の問題は、陰湿で深くねじれた現象です。 彼らが削除されたことを確信するために、少数の献身的な人々による数ヶ月の精査が必要です。 したがって、新しいバージョンのリリースに必要な長い期間、および長い間待っていたものが完全ではないときに経験する避けられない失望。

ただし、バザールモデルに照らしてみると、エラーは通常は軽微な問題であるか、少なくとも、数千人の献身的な協力者の熱心な目にさらされると、エラーはかなり早く発生すると想定されます。すべての新しいバージョンの逆。 そのため、バージョンを頻繁にリリースしてさらに多くの修正を取得し、有益な副作用として、時々混乱した場合に失うものが少なくなります。」

結論:大聖堂とバザール

結論

個人的には、バザール型モデルの下でのフリーソフトウェア開発の分野での私の小さな経験から、次の結論が得られます。

  • ユーザーは貴重なリソースとして扱われるべきであり、最良の場合、製品の開発におけるコラボレーションのための貴重な味方として扱われるべきです。
  • すべてのアイデアは、開発のための優れたソリューションまたは改善になる可能性が最も少ないため、検討する価値があるか、または検討する価値があります。
  • 元のアイデアが元の概念から分割、拡張、または離れる可能性は高いですが、重要なのは、サービス、サービス、または支援を希望するユーザー市場のタイプに関して、どれだけ焦点を絞るべきかということです。
  • 効率的であり、分散による労力の損失を回避するため。
  • 最良のものは、コミュニティによって正しいものとして評価されることができる、小さく、直接的で、単純ですが、効率的なコードです。
  • 追加することは常に考慮に入れる良い可能性があるので、削除するものがこれ以上ないとき、プログラムはユーザーのコミュニティにとってすでに成熟しています。
  • どのプログラムも(部分的または全体的に)使用して、元々考えられていなかった機能で再利用できます。
  • すべてのソフトウェアは、ユーザーのデータの使用の機密性のために、それぞれのライセンスおよびセキュリティ対策を実施する必要があります。
  • ゼロから始める必要はありません。誰かが常に私たちの考えたアイデアに似たものを開発してきました。
  • 人は自分が好きなことに取り組む必要があり、自分が作り上げたものとの一体感を内部的に生み出すために、自分がフリーソフトウェアに専念する開発への情熱を感じなければなりません。それ。
  • 開発者とユーザー(コラボレーター)の間には、作業が迅速に流れ、効果的に変化するように、優れた頻繁なコミュニケーション手段が必要です。

「大聖堂とバザール」を読むことは、どんなに大きくても小さくても、無料のソフトウェア開発をプログラムするすべての人にとって必須のリファレンスであるため、この情報が気に入って参考になったと思います。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   ナシボイ

    素晴らしい要約/意見、私は「コード付きモニター」からあまりにも多くの画像を取り除くだけなので、それは何も説明しません

    1.    Linuxポストインストール

      それらはシステム開発の問題について私には適切であるように思われ、それらを削除することはもはや正しくないでしょうが、あなたの観察に感謝します!

  2.   ベイロン

    優れた要約とアナロジー。

    1.    Linuxポストインストール

      素敵で前向きなコメントをありがとうバイロン。

  3.   トリニダードのエドゥアルド

    よろしくお願いします。この重大な通知おめでとうございます。 私は「神の国で」すべてが自由で自由であると信じています...そうでなければ、開発者は、私たちがしなければならないことを理解していない、または理解したくない人々によって、破壊者によって殉教または十字架につけられ続けます「シーザーに属するものをシーザーに与えなさい…そして神に属するものを神に与えなさい»…チップはあなたが呼吸する日光や空気のように本質的に神である…自由は必要である、しかし現在それは次のような悲惨な市場によって破壊されている独自のソフトウェア。

    1.    Linuxポストインストール

      ご挨拶、エドゥアルド・デ・トリニダード。 コメントと貢献をありがとうございます。