Message 00792 [Homepage] [Navigation]
Thread: oxdeT00720 Message: 9/9 L1 [In index]
[First in Thread] [Last in Thread] [Date Next] [Date Prev]
[Next in Thread] [Prev in Thread] [Next Thread] [Prev Thread]

Re: [ox] Schnipsel vom LinuxTag



Liebe Liste!

Hier wie versprochen noch ein Nachtrag zur "Berichterstattung" zum
LinuxTag. Alan Cox ist einer der bekanntesten Linux-Kernel-Entwickler.

Last month (35 days ago) Stefan Merten wrote:
Alan Cox hat einen hochinteressanten Vortrag gehalten ("Dear Mr.
Brooks"), dessen Folien ich leider noch nicht gefunden habe. Er hat
viel darüber erzählt, wie Freie Software-Entwicklung im Inneren
funktioniert. Würde ich als Analyse und Zustandsbeschreibung wirklich
gerne für uns verfügbar machen.

Ich habe mittlerweile über Torsten die Folien von Alan Cox. Ich
bereite sie jetzt endlich mal für uns auf.

Ich rücke Alan Cox Punkte mal zwei Tabs ein und schreibe meine
ergänzenden Bemerkungen dann normal. Folien mit gleichen Überschriften
betrachte ich als eine Folie. Kann übrigens sein, daß die Seiten
mittlerweile auf der LinuxTag-Site sind - ich erreiche die momentan
nicht :-( .


						Mit li(e)bertären Grüßen

						Stefan

--- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< ---

Der gesamte Vortrag hatte als Aufhänger "Brooks Law", das beschreibt,
wie Software-Entwicklung - angeblich - funktioniert und vor allem was
nicht funktioniert. Wie so viele Laws in der Informatik ist dieses
höchst empirisch.

In den ersten beiden Folien vergleicht AC die beiden Ansätze -
klassische Software-Entwicklung nach Brooks Law, die er "Software
Engineering" nennt, und Freie Software-Entwicklung.

		'Software Engineering'
		----------------------

		* Programming Teams
		- Limited to about six people per team
		- Hierarchical management structure
		- Controlled access to other teams

		* Design Order
		- Formal specification
		- Design specification
		- Detailed analysis of interfaces
		- Marketing
		- Code

		Free Software Projects
		----------------------

		* Programming Teams
		- Small focused teams
		- Hierarchy - formal or otherwise
		- Access points between teams

		* Design Order
		- Just about working prototype code
		- Web Site (marketing)
		- Working Product
		- Documentation

		- Documentation often comes from third parties

In der nächsten Folie stellt AC die unterschiedliche Kommunikation in
beiden Ansätzen gegenüber.

		Communication
		-------------

		* Software Engineering
		- Communication is tree based
		- Related areas in the same branch
		- Talking directly is often frowned upon
		- Chinese whispers problem

		* Free Software
		- Mailing list- Information hose-pipe
		- Charismatic project leader
		- Direct communication is common
		- Connect people not pass messages

Die nächsten Folien drei beschreiben wichtige Aspekte Freier
Software-Entwicklung.

		Code Structure
		--------------

		* Successful  free software is extremely modular

		* Interfaces favour isolation over speed

		* Interfaces are group maintained
		- No one interface 'owner'
		- All parties fix the interface
		- Direct communication

		Evolution
		---------

		* Continuous evolution

		* Stupid interfaces/classes are not used

		* Complex interfaces are not used
		- Programmers don't read manuals

		* Interfaces between modules are minimised

		* Modules tend to interface to 'core' modules only

		Interface Reuse
		---------------

		* Re-usability
		- One interface has many users
		- Many modules provide the same interface

		* Flexibility
		- External 'plug ins'
		- Unix tradition - call shell scripts

Die nächste Folie betrachtet Freie Software-Entwicklung im Lichte von
Brooks Law.

		Brooks Law
		----------

Brooks Law befaßt sich stark mit Verspätungen und
Terminüberschreitungen in Software-Projekten. AC stellt dagegen, daß
Freie Software per Definition verspätet ist, da sie immer eine
Reaktion auf ein bereits vorhandenes Bedürfnis ist.

		* Free Software Is Generally Late
		- Often a response to an event
		- Classic example is GNOME
		-- Response to KDE
		-- KDE was well ahead
		- Need driven software

Weiterhin postuliert Brooks Law, daß das Hinzufügen von Leuten zu
einem bereits verspäteten Software-Projekt das Projekt noch mehr
verzögert. AC stellt dagegen, wie sich die Dinge in Freien
Software-Projekten verhalten.

		* Adding Programmers To Free Software
		- Team sizes are fairly bounded
		- Extra programmers - extra projects
		- Modules fission
		- Design and interface rules change
		- Modules split along existing interfaces

Die folgende Folie erwähnt einige Nachteile dieser Art der
Organisation Freier Software-Entwicklung durch Aufspaltung in
unabhängige Module.

		Downsides
		---------

		* Reduced Communication
		- Can cause code duplication
		- Causes bug duplication
		- Example code must be good

Die folgende Folie faßt weitere Aspekte Freier Software-Entwicklung
zusammen.

		New model or old
		----------------

		* Team Sizes
		- Typically under six per module
		- Generally has a clear leader
		- Merit driven

		* Specialist
		- Handle specific aspects of projects
		-- CVS
		-- Mailing Lists
		-- Autoconf
		- Very much 'support staff'

		* Modularity
		- Aggressively modular
		- Flexible simple interfaces
		- Complexity is bad
		- Subtle surprises are worse

		* Growth
		- Growth by fissioning modules
		- Interface specification changes

Die abschließenden Schlußfolgerungen fassen nochmal wichtige Punkte
Freier Software-Entwicklung zusammen.

		Conclusions
		-----------

		* Free software development has differences

		* Communications
		- Communication reduction
		- All information is freely available
		- Filtered by developer not management

		* Management Structure
		- Graph not tree based
		- Continually makes/breaks nodes
		- Project leaders link people

		* Code Structure
		- Aggressively modular
		- Simple functional interfaces
		- All code is reusable
		- Users of code/interfaces may change them
		- Ugly code is only OK if localised

Und der Schlußakkord...

		Free Software Is About Avoiding Knowledge
		-----------------------------------------


----------------------
http://www.oekonux.de/



[English translation]
Thread: oxdeT00720 Message: 9/9 L1 [In index]
Message 00792 [Homepage] [Navigation]