[LINUX] "Curly and Bazaar", das Leute lesen wollen, die in einem soliden Unternehmen arbeiten

Über "Curly and Bazaar"

Wie lange liest du schon?

Irgendwie "Mythos des Mondes", "Bär und Walzer" oder "Extreme Programming (White)" Ich persönlich bin der Meinung, dass es eines der klassischen Lesematerialien in der Programmierung ist, wie "Buch)".

Ich habe jedoch alle drei Bücher gelesen, die ich aufgelistet habe, aber tatsächlich gingen die Kathedrale und der Basar vorbei.

Der Grund dafür ist, dass dies ein Buch ist, das über das Entwicklungsmodell von OSS-Software, insbesondere Linux, entwickelt wurde. Zu dieser Zeit, als ich solche klassischen Lesematerialien las und fischte, war das kein sehr interessantes Thema. Weil ich ausschließlich professionelle und lokale Software geschrieben habe.

Ich fühlte eine ganz andere Haarfarbe als "Human Moon Myth", die den einfachen Personaleinsatz kritisiert, "Kuma to Waltz", das über Risikomanagement lehrt, und "Extreme Programming", das das heiße Keimen einer agilen Entwicklung spürt. richtig.

Auf der Bucheinführungsseite von Amazon steht auch "ein Buch, das man unbedingt lesen muss, für Linux- und Open Source-Leute (OSS)", und natürlich denke ich, dass das richtig ist, aber ** ich denke, es ist einfach, die Leser zu sehr einzugrenzen. Korrekt **. [^ 1]

Insbesondere ist es ein Buch, das zeigt, wie Softwareentwicklung in einer Welt sein sollte, in der alles immer offener wird.

Ich sagte, es sei ein Buch, aber es ist ein Buch, das ich über OSS geschrieben habe. Die Bücher und Übersetzungen selbst sind OSS unter Creative Commons.

Darüber hinaus enthält die Buchversion "Know Asphere Clearing" und "[Magic Pot](https://cruel.org/freeware/magicpot". html) “und ein Interview des Übersetzers Yamagata Sensei sind ebenfalls im Set enthalten, aber dieses Mal werden wir uns mit„ Garai and Bazaar “befassen. Bisher ist es interessant genug. Wenn Sie es nicht gelesen haben, tun Sie es bitte. Die PDF-Menge beträgt ca. 40 Seiten, was sehr einfach zu lesen ist.

Missverständnis der Metafa von "Curly and Bazaar"

Wenn Sie ein wenig über Kathedralen und Basare wissen oder die Geschichte des Kampfes zwischen OSS und großen Unternehmen (Fensterfirmen, blaue Firmen, rote Firmen usw.) kennen, sind "Kathedralen" manuelle große Firmen. Sie können sich proprietäre und geschlossene Entwicklung und Basar als freie Softwareentwicklung mit OSS vorstellen.

Ich möchte, dass Leute, die so denken, es lesen. Denn ** die Kathedrale und der Basar sind keine Metaphern für große Unternehmen und OSS. ** ** **

Lassen Sie uns aus dem Text zitieren. Die Kathedrale ist das folgende Modell.

Aber auf einer höheren Ebene dachte ich auch, dass es eine unvermeidliche Komplexität geben würde, die einen zentraleren und aprikotischeren Ansatz erfordern würde. Die wichtigste Software (Betriebssystem und wirklich große Tools wie Emacs) muss wie eine Kathedrale zusammengesetzt werden, und ein Zauberer oder eine kleine Gruppe von Magiern sollte sie vollständig isoliert und sorgfältig zusammenbauen. Ich dachte, ich müsste die Beta-Version veröffentlichen, bis sie fertig ist.

Ja, ** eine Kathedrale ist ein Serienmodell, das im Vorfeld ein frühes großes Design voraussetzt **.

Was ist das Basarmodell?

Ich war total überrascht von dem Entwicklungsstil von Linus Tovals, der die ganze Zeit veröffentlicht wurde, alles, was mir übrig blieb, überließ und alles in Unordnung brachte.

Ein Basar ist ein offenes und iteratives Entwicklungsmodell, das häufige Veröffentlichungszyklen voraussetzt **.

Mit anderen Worten, in der gegenwärtigen profanen Sprache (obwohl man sich völlig bewusst ist, dass es eine Schwankung als Definition gibt),

Ich denke es kann gesagt werden.

Natürlich gibt es in großen Unternehmen viele Kathedralenmodelle und in OSS viele Basarmodelle, aber Kathedrale und Basar beziehen sich nur auf das Entwicklungsmodell, nicht auf die Form des Projekts. Was ich sagen möchte ist, dass ** einige Basarelemente auch in einer geschlossenen Entwicklung innerhalb eines Unternehmens angewendet werden können **.

Was steht in "Curly and Bazaar"

Was in der Kathedrale und auf dem Basar geschrieben steht, ist ** eine Analyse "warum das Basarmodell funktioniert" **. Es ist erwähnenswert, dass diese Analyse in den neunziger Jahren durchgeführt wurde.

Weil zu dieser Zeit nicht einmal Git existierte, geschweige denn Github (Linus machte Git kurz nachdem dieser Satz ins Japanische übersetzt wurde). Natürlich gibt es auch keinen Slack. Es gibt nur Mailinglisten und frühes WWW.

Dies ist nur eine alte Geschichte für diejenigen, die mit dem modernen Github vertraut sind, aber was ist mit Ihrer Organisation? ** Wird das interne Informationsaustauschsystem nicht in den 90er Jahren tatsächlich eingestellt? ** Gibt es nicht immer noch viele Leute, die sagen, dass die Hauptübertragung per E-Mail erfolgt, der Quellcode schließlich auf den gemeinsam genutzten Dateiserver hochgeladen wird und selbst wenn es nur SVN gibt?

Ja, auch in einer solchen Situation können Sie diesem Buch entnehmen, dass das Basarmodell funktioniert. Dies bedeutet: "Wenn Sie zufrieden sind, kann jedes Unternehmen dies tun."

Wie das Basarmodell funktioniert

Warum funktioniert das ungeordnete Basarmodell: "Ich lasse es die ganze Zeit frei, überlasse es mir und öffne es für das Chaos?"

Es gibt viele Punkte in diesem Buch, aber ich persönlich halte die folgenden drei für wichtig.

In erster Linie ist es, obwohl es sich um ein Basarmodell handelt, der Leiter des Basars, Linus unter Linux und RMS in Emacs. Es kann eine Einzelperson oder ein Team sein, aber auf jeden Fall gibt es Leute auf dem Basar, die lose über ihren Kurs entscheiden (und von jedem damit beauftragt werden). Das Projekt wird von der persönlichen Leidenschaft der Person angetrieben.

Und auf dem Basar werden Benutzer der Software und Bibliotheken als Mitentwickler behandelt. Voraussetzung wäre natürlich, dass der Benutzer auch leidenschaftlich mit der Software umgeht.

Und es gibt Entwickler mit Leidenschaft, es gibt Benutzer mit Leidenschaft, und eine weitere Sache, die wir brauchen, ist ein Mechanismus, um die Leidenschaft am Brennen zu halten. Dies wird durch häufige Veröffentlichungen, die Visualisierung von Beiträgen und insbesondere die Projekttransparenz selbst sichergestellt.

Leidenschaftliche Entwickler öffnen ihre Software, gewinnen dank häufiger Veröffentlichungen und Beiträge begeisterte Benutzer, und die Beiträge dieser begeisterten Benutzer entwickeln das Projekt weiter.

Auf diese Weise funktioniert das Basarmodell auf sehr einfache Weise.

Ist das Basarmodell im Unternehmen anwendbar?

Ist es bei Betrachtung des oben genannten Prozesses möglich, einen solchen Prozess in das Unternehmen einzubringen?

Ich persönlich denke, dass ich es schaffen kann. Ich denke, es gibt einen Ansatz namens "Inhouse OSS" für einige große Unternehmen und "Partial OSS" für kleine und mittlere Unternehmen.

Inhouse-OSS

Es geht buchstäblich darum, den Quellcode intern zu veröffentlichen und das Projekt zu fördern. Sie können jedes Projekt selbst veröffentlichen, aber wenn es schwierig ist, können Sie an die Tools, Bibliotheken oder den IaC-Code denken, die in diesem Projekt verwendet werden. Ich denke, das Wichtigste ist nicht nur, es öffentlich zu machen, sondern es in unserem Projekt richtig zu verwenden und ihm ein gewisses Eigentum zu geben, indem es ihm das Eigentum am Repository gibt.

Um verschiedene Geschichten zu erzählen und zu hören, denke ich, dass Google das Unternehmen ist, das dies am aktivsten tut. Natürlich spielt Google selbst eine ziemlich wegweisende Rolle in OSS, aber darüber hinaus erstellt Google neue Produkte und OSS aus seinen eigenen Tools.

Kubernetes ist beispielsweise nicht mehr der Standard für Container-Orchestrierungs-Tools, sondern muss ursprünglich von den internen und geschlossenen Tools von Google abgeleitet worden sein. Kubernetes ist infolgedessen zu OSS geworden, aber andere Tools, die auf GCP basieren, scheinen interne Tools gut zu nutzen und sie in Produkten bereitzustellen. Ist dies nicht ein Beweis dafür, dass das hauseigene Basarmodell funktioniert?

Teilweise OSS

Dies ist eine Methode, bei der der Kernteil proprietär bleibt, ohne in OSS konvertiert zu werden, und die Peripherietools in OSS konvertiert werden. Shiguredo ist derjenige, der auf diese Weise in den Sinn kommt. Shiguredo ist geschlossen und professionell in Bezug auf sein Kernprodukt "WebRTC SFU Sora", aber seine Peripherietools sind häufig OSS. [^ 2]

In Bezug auf die OSS-Gruppe werden Funktionen hinzugefügt, während auf dem Discord-Server lebhafte Diskussionen geführt werden. Gleichzeitig wird die Entwicklungsgeschwindigkeit beibehalten, die Offenheit zieht Entwickler an, und wahrscheinlich sind auch die Verkäufe von Sora selbst beträchtlich. Es scheint, dass sie einen Beitrag leisten.

Auf diese Weise sollte es möglich sein, * den OSS-Aspekt als Unternehmen einzubeziehen und die Vorteile der Basarmethode einzubeziehen **.

Unter welchen Bedingungen kann ein Unternehmen das Basarmodell übernehmen?

Ich glaube jedoch nicht, dass dieser Prozess für ein Unternehmen funktioniert. Wenn "Transparenz" und "Schlaffheit" im Unternehmen nicht gewährleistet sind, wird es schwierig sein, sie zu entwickeln.

Transparenz

Das erste, was Sie brauchen, ist Transparenz. In jedem Projekt ist es sehr wichtig, eine Roadmap für die Zukunft sowie den aktuellen Stand der Technologie, die derzeit hergestellt wird, vorzulegen.

Unabhängig davon, ob es intern oder extern veröffentlicht wird, sollte es schwierig sein, es überhaupt erst zu verwenden, es sei denn, es fordert immer technische Transparenz ohne seltsame Verschleierung.

Locker

Es ist kein Chat-Tool. Es ist hier.

Ob innerhalb oder außerhalb des Unternehmens, diese OSS-Aktivitäten sind nicht möglich, wenn der Betrieb zu 100% reduziert wird. Die 20% -Regel von Google ist bekannt, aber das Basarmodell funktioniert nur, wenn Sie die Zeit haben, sich überhaupt der Herstellung von Produkten zu widmen.

Am Ende

Deshalb habe ich es stetig geschrieben. Persönlich habe ich immer noch das Gefühl, eine gute Perspektive für die Entwicklung der Unternehmenssoftware zu haben, deshalb habe ich sie kurz geschrieben.

Ich denke, ich werde den Klassiker wieder lesen. Es war ein gutes Buch.

[^ 1]: Ich denke, es ist möglicherweise nicht bereit für die OSS-Community, und der Entwicklungsprozess, der nicht wirklich offen ist, und der OSS-Prozess sind im Wesentlichen völlig anders! Ich denke, es gibt Kritik. Als Essenz [^ 2]: Eigentlich kann man sagen, dass Sora selbst aufgrund seiner hohen Veröffentlichungshäufigkeit und offenen Roadmap ziemlich OSS-ähnlich ist.

Recommended Posts

"Curly and Bazaar", das Leute lesen wollen, die in einem soliden Unternehmen arbeiten
Ich möchte mit einem Roboter in Python arbeiten.
Eine Lösung für das Problem, dass Dateien mit [und] nicht in glob.glob () aufgeführt sind
[C / C ++] Übergeben Sie den in C / C ++ berechneten Wert an eine Python-Funktion, um den Prozess auszuführen, und verwenden Sie diesen Wert in C / C ++.
Referenz Referenz für diejenigen, die mit Rhinoceros / Grasshopper codieren möchten
Eine Geschichte, die nicht funktioniert hat, als ich versucht habe, mich mit dem Python-Anforderungsmodul anzumelden
PyPI-Registrierungsverfahren für diejenigen, die ihr PyPI-Debüt geben möchten
Ich möchte die Ausführungszeit aufzeichnen und ein Protokoll führen.
Ich möchte APG4b mit Python lösen (nur 4.01 und 4.04 in Kapitel 4)
Reguläre Ausdrücke, die in Python leicht und solide zu erlernen sind
Ich möchte eine Pipfile erstellen und im Docker wiedergeben
Beachten Sie, dass Sie die im Django-Vorlagenformular übergebenen Parameter Element für Element manuell dekorieren möchten
Ich möchte nur ein Signal vom Sub-Thread zum Haupt-Thread senden
Ich habe Airbnb-Daten für diejenigen analysiert, die in Amsterdam bleiben möchten
Ich möchte eine Liste in der Reihenfolge anderer Listen sortieren
Ich möchte die Gefühle von Menschen analysieren, die sich treffen und zittern wollen
Ich möchte Affenpatches nur teilweise sicher mit Python machen
Ich möchte eine API erstellen, die ein Modell mit einer rekursiven Beziehung im Django REST Framework zurückgibt
Ich möchte in der Einschlussnotation drucken
Verschiedene Möglichkeiten, die letzte Zeile einer CSV-Datei in Python zu lesen
Ich möchte visualisieren, wo und wie viele Leute in der Fabrik sind
Tipps für diejenigen, die verwirrt sind, wie man is und == in Python verwendet
Treten Sie Azure mit Go ~ bei Für diejenigen, die Azure mit Go ~ starten und kennenlernen möchten
Ich möchte eine Prioritätswarteschlange erstellen, die mit Python (2.7) aktualisiert werden kann.
Behandeln Sie CSV mit dem Element, das Sie im Namen der Datei analysieren möchten
So zählen Sie die Anzahl der Elemente in Django und geben sie in die Vorlage aus
Verwenden Sie libsixel, um Sixel in Python auszugeben und das Matplotlib-Diagramm an das Terminal auszugeben.
Ich möchte gleichzeitig einen Musik-Player erstellen und Musik ablegen
Für diejenigen, die Excel VBA lernen und mit Python beginnen möchten
Ich möchte einen Lebenszyklus in der Aufgabendefinition von ECS festlegen
Verwenden Sie PIL in Python, um nur die gewünschten Daten aus Exif zu extrahieren
Ich möchte eine Liste der WebDAV-Dateien im Modul Anfragen anzeigen
Ich möchte den Dateinamen, die Zeilennummer und den Funktionsnamen in Python 3.4 erhalten
Tool zum Einfügen des Ländernamens und des Ländercodes in einen Teil der IP-Adresse
Es ist okay, zum ersten Mal teilzunehmen! Ein Hackason-Starter-Kit, das Sie "vor" der Teilnahme am Hackason vorbereiten möchten!
Der erste Schritt für diejenigen, die Amateure der Statistik sind, aber Modelle für maschinelles Lernen in Python implementieren möchten