1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
|
---
title: FreeBSD unterstützen
authors:
- author: Jordan Hubbard
releaseinfo: "$FreeBSD$"
trademarks: ["freebsd", "ieee", "general"]
---
= FreeBSD unterstützen
:doctype: article
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:sectnumlevels: 6
:source-highlighter: rouge
:experimental:
:toc-title: Inhaltsverzeichnis
:table-caption: Tabelle
:figure-caption: Abbildung
:example-caption: Beispiel
ifeval::["{backend}" == "html5"]
include::shared/de/mailing-lists.adoc[]
include::shared/de/urls.adoc[]
endif::[]
ifeval::["{backend}" == "pdf"]
include::../../../../shared/de/urls.adoc[]
include::../../../../shared/de/mailing-lists.adoc[]
endif::[]
ifeval::["{backend}" == "epub3"]
include::../../../../shared/de/urls.adoc[]
include::../../../../shared/de/mailing-lists.adoc[]
endif::[]
[.abstract-title]
Zusammenfassung
Dieser Artikel beschreibt, wie Einzelpersonen oder Unternehmen das FreeBSD-Projekt unterstützen können.
__Übersetzt von Johann Kois__.
'''
toc::[]
Sie wollen FreeBSD unterstützen? Das ist großartig! FreeBSD ist auf die Unterstützung seiner Anwender __angewiesen__, um zu überleben. Ihre Beiträge werden nicht nur begrüßt, sie sind für die Weiterentwicklung von FreeBSD von elementarer Bedeutung.
Im Gegensatz zu dem, was einige Leute Ihnen einreden wollen, müssen Sie kein Spitzenprogrammierer oder persönlicher Freund eines Mitglieds des FreeBSD-Core-Teams sein, damit Ihre Beiträge akzeptiert werden. Ein große und wachsende Anzahl von internationalen Unterstützern verschiedenen Alters und mit verschiedenen technischen Fähigkeiten entwickelt FreeBSD weiter. Es gibt immer mehr zu tun, als von den beteiligten Personen bewältigt werden kann, daher freuen wir uns über jede Hilfe.
Das FreeBSD-Projekt ist für ein komplettes Betriebssytem verantwortlich, nicht nur für einen Kernel oder ein paar verstreute Werkzeuge. Daher umfasst unsere [.filename]#TODO#-Liste viele verschiedene Aufgabenbereiche: Angefangen von der Dokumentation, über Betatests und Präsentationen bis zu Systeminstallationen und speziellen Weiterentwicklungen des Kernels. Da Fähigkeiten in den verschiedensten Bereichen benötigt werden, kann fast jeder etwas zu diesem Projekt beitragen.
Personen, die im kommerziellen Umfeld mit FreeBSD zu tun haben, sind ebenfalls aufgefordert, sich bei uns zu melden. Brauchen Sie eine spezielle Erweiterung, damit Ihr Produkt funktioniert? Wir kommen Ihren Wünschen gerne entgegen, vorausgesetzt, sie sind nicht zu speziell. Arbeiten Sie an einem Mehrwertprodukt? Dann informieren Sie uns bitte! Wir könnten in der Lage sein, an einem Teil davon mitzuarbeiten. Die Welt der freien Software fordert viele bestehenden Annahmen über die Entwicklung, den Verkauf und die Wartung von Software heraus, und wir bitten Sie, ernsthaft darüber nachzudenken.
[[contrib-what]]
== Was wird gebraucht?
Die folgende Liste von Aufgaben und Unterprojekten repräsentiert eine Zusammenfassung von verschiedenen [.filename]#TODO#-Listen und Benutzerwünschen.
[[non-programmer-tasks]]
=== Aufgaben für Nicht-Programmierer
Viele Menschen, die an FreeBSD beteiligt sind, sind keine Programmierer. Es sind Leute, die an der Dokumentation arbeiten, Internetseiten erstellen oder einfach Hilfe anbieten. Alles, was diese Leute mitbringen müssen, sind Zeit und die Bereitschaft, etwas zu lernen.
. Lesen Sie die häufig gestellten Fragen (FAQ) und das Handbuch gelegentlich. Wenn etwas schlecht erklärt wird, veraltet oder einfach falsch ist, teilen Sie es uns mit. Oder noch besser, korrigieren Sie es (SGML ist nicht schwer zu erlernen, wir akzeptieren aber auch Vorschläge im ASCII-Format.).
. Helfen Sie dabei, die Dokumentation in Ihre Muttersprache zu übersetzen. Wenn an der Übersetzung in Ihre Sprache bereits gearbeitet wird, helfen Sie, indem Sie weitere Dokumente übersetzen, oder sorgen Sie dafür, dass die Übersetzungen aktuell sind. Lesen Sie zuerst die link:{fdp-primer}#translations[Übersetzungs-FAQ] der Fibel für neue Mitarbeiter des FreeBSD-Dokumentations-Projekts. Sie verpflichten sich dabei nicht dazu, jede einzelne Seite zu übersetzen - als Freiwilliger übersetzen Sie genau so viel, wie Sie wollen. Wenn jemand mit der Übersetzung beginnt, beteiligen sich fast immer auch andere Personen daran. Wenn Sie nur Zeit und Energie für einen Teil der Dokumentation haben, dann übersetzen Sie bitte die Installationsanleitung.
. Lesen Sie {freebsd-questions} sowie die news:comp.unix.bsd.freebsd.misc gelegentlich (oder sogar regelmäßig). Es kann sehr befriedigend sein, wenn Sie Ihr Wissen teilen und anderen Leuten dabei helfen können, deren Probleme zu lösen; vielleicht lernen Sie sogar noch etwas Neues! Diese Foren können auch eine Quelle für Ideen sein, an denen man arbeiten könnte.
[[ongoing-programmer-tasks]]
=== Aufgaben für Programmierer
Die meisten der hier aufgeführten Aufgaben erfordern entweder einen bedeutenden Zeitaufwand oder eine sehr gute Kenntnis des FreeBSD-Kernels, oder beides. Es gibt jedoch genug Aufgaben, die auch für "Wochenendprogrammierer" geeignet sind.
. Wenn Sie FreeBSD-CURRENT installiert haben und über eine schnelle Internetanbindung verfügen, können Sie von `current.FreeBSD.org` ein täglich neu erzeugtes Release herunterladen - versuchen Sie dann hin und wieder, das neueste Release zu installieren und melden Sie dabei eventuell auftretende Fehler.
. Lesen Sie {freebsd-bugs}. Es könnte ein Problem geben, an dem Sie konstruktiv mitarbeiten könnten, oder für das es Patches gibt, die Sie testen könnten. Oder Sie könnten sogar versuchen, eines dieser Probleme selbst zu beheben.
. Wenn Sie von Fehlerbehebungen wissen, die zwar erfolgreich auf -CURRENT angewendet wurden, die aber nach einem bestimmten Zeitraum nicht in -STABLE eingebracht wurden (normalerweise innerhalb einiger Wochen), erinnern Sie den Committer höflich daran.
. Verschieben Sie beigetragene Software im Quellcodebaum nach [.filename]#src/contrib#.
. Stellen Sie sicher, dass der Code in [.filename]#src/contrib# aktuell ist.
. Bauen Sie den Quellcodebaum (oder einen Teil des Baumes) mit aktivierten Compilerwarnungen und beheben Sie auftretende Fehlermeldungen.
. Beheben Sie Fehlermeldungen bei der Installation von Ports, die auf unsauberen Code hinweisen (etwa die Verwendung von `gets()` oder die Einbindung von [.filename]#malloc.h#).
. Wenn Sie einen Port beigetragen und dabei irgendwelche FreeBSD-spezifischen Änderungen getätigt haben, senden Sie Ihre Patches an die ursprünglichen Autoren (das wird ihr Leben einfacher machen, wenn die nächste Version des Ports erscheint).
. Besorgen Sie sich Kopien von wichtigen Standards wie POSIX(R). Als Ausgangspunkt für Ihre Suche können Sie die Seite des link:https://www.FreeBSD.org/projects/c99/[FreeBSD C99 & POSIX Standards Conformance Project] verwenden. Vergleichen Sie das Verhalten von FreeBSD mit dem von dem jeweiligen Standard geforderten Verhalten. Verhält sich FreeBSD in einem Bereich unterschiedlich, sollten Sie einen Problembericht (PR) einsenden. Wenn Sie dazu in der Lage sind, können Sie sich auch eine Lösung des Problems überlegen und Ihrem PR einen Patch anfügen. Wenn Sie der Meinung sind, dass der Standard nicht korrekt ist, können Sie auch das jeweilige Standardgremium um weitere Informationen bitten.
. Schlagen Sie weitere Aufgaben für diese Liste vor!
=== Die PR-Datenbank durchsehen
Die http://www.FreeBSD.org/cgi/query-pr-summary.cgi[FreeBSD PR-Datenbank] enthält alle derzeit offenen Problemberichte und Verbesserungswüsche, die von Anwendern eingereicht wurden. Die PR-Datenbank enthält sowohl Aufgaben für Programmierer als auch für Nichtprogrammierer. Gehen Sie die Liste der offenen PRs durch, um festzustellen, ob Sie ein Problem interessiert. Bei manchen Berichten geht es nur darum, zu überprüfen, ob der bereitgestellte Patch korrekt funktioniert. Andere Problemberichte sind hingegen komplexer, oder beinhalten überhaupt keinen Lösungsvorschlag.
Beginnen Sie mit den PRs, die niemandem zugewiesen sind. Ist ein PR, für den Sie eine Lösung hätten, bereits jemandem zugewiesen, nehmen Sie mit dem dafür Zuständigen Kontakt auf und fragen Sie ihn, ob Sie an der Lösung mitarbeiten können - es könnte etwa bereits ein Patch existieren, der nur noch getestet werden muss, oder Sie könnten weitere Ideen mit ihm diskutieren.
=== Wählen Sie einen der Einträge auf der "Ideen"-Seite aus
Die link:https://www.FreeBSD.org/projects/ideas/[Liste von Projekten und Ideen] für FreeBSD ist auch für Freiwillige interessant, die etwas zum FreeBSD Projekt beitragen möchten. Diese Liste wird regelmäßig aktualisiert und enthält Einträge für Programmierer und Nicht-Programmierer sowie Informationen zu jedem Projekt.
[[contrib-how]]
== Was Sie tun können
Mögliche Beiträge lassen sich in fünf Kategorien einteilen:
[[contrib-general]]
=== Fehlerberichte und allgemeine Vorschläge
Eine Idee oder ein Vorschlag von _allgemeinem_ technischen Interesse sollte an {freebsd-hackers} geschickt werden. Personen, die an solchen Fragen interessiert sind (und kein Problem mit einem _hohen_ Mailaufkommen haben!) können die Mailingliste {freebsd-hackers} auch abonnieren. Informationen zu dieser und anderen Mailinglisten finden Sie im link:{handbook}#eresources-mail[FreeBSD Handbuch].
Wenn Sie einen Fehler gefunden oder eine Verbesserung entwickelt haben, vergessen Sie nicht, einen Bericht über man:send-pr[1] oder dessen link:https://www.FreeBSD.org/de/send-pr/[Internetschnittstelle] zu erstellen. Versuchen Sie bitte, jedes Feld auszufüllen. Ist Ihr Patch kleiner als 65 KB, sollten Sie ihn direkt in den Bericht einbauen. Kann der Patch direkt auf den Quellcodebaum angewendet werden, fügen Sie `[PATCH]` im Synopsis-Feld ein. Wenn Sie einen Patch einfügen, verwenden Sie bitte __kein copy-and-paste__, weil dadurch Tabulatoren in Leerzeichen umgewandelt werden, was den Patch unbrauchbar macht. Sind die Patches viel größer als 20 KB, sollten Sie sie komprimieren (z.B. mit man:gzip[1] oder man:bzip2[1]) und man:uuencode[1] verwenden, um diese in ihren Problembericht einzufügen.
Nachdem Sie einen Bericht versandt haben, erhalten Sie eine E-Mail, die eine Bestätigung sowie eine Identifikationsnummer enthält. Geben Sie diese Nummer im Betreff der Nachricht an (`"Re: kern/3377"`), wenn Sie neue Informationen zu diesem Problem an {bugfollowup} senden. Zusätzliche Informationen zu Problemberichten sollten immer auf diese Art und Weise verschickt werden.
Sollten Sie innerhalb einer Woche keine Bestätigung erhalten, oder man:send-pr[1] nicht verwenden können, können Sie über {freebsd-bugs} jemanden bitten, dies für Sie zu erledigen.
Weitere Informationen zum Verfassen von guten Problemberichten finden Sie im entsprechenden link:{problem-reports}[Artikel].
=== Änderungen der Dokumentation
Änderungen der Dokumentation werden vom {freebsd-doc} überwacht. Lesen Sie bitte die link:{fdp-primer}[Fibel für neue Mitarbeiter des FreeBSD-Dokumentationsprojekts] für weitere Informationen. Korrekturen und Ergänzungen (selbst kleine Änderungen sind willkommen!) werden mit man:send-pr[1] übermittelt. Lesen Sie dazu den Abschnitt <<contrib-general>>.
=== Änderungen am vorhandenen Quellcode
Änderungen des existierenden Quellcodes sind etwas komplizierter. Entscheidend ist hier, wie vertraut Sie mit dem aktuellen Entwicklungsstand von FreeBSD sind. Es existiert eine spezielle, ständig aktualisierte Version von FreeBSD, die als "FreeBSD-CURRENT" bekannt ist. Diese ist auf verschiedenen Wegen erhältlich und stellt den aktuellen Stand der Entwicklung dar. Lesen Sie den Abschnitt link:{handbook}#current-stable[FreeBSD-CURRENT vs. FreeBSD-STABLE] des Handbuchs für weitere Informationen zur Installation und Verwendung von FreeBSD-CURRENT.
Arbeiten Sie mit älteren Quellcodeversionen, kann dies leider bedeuten, das Ihre Änderungen obsolet sind, oder sich nicht mehr in FreeBSD reintegrieren lassen. Dieses Risiko lässt sich verringern, wenn Sie die Mailinglisten {freebsd-announce} und {freebsd-current} abonnieren, auf denen aktuelle Systemänderungen diskutiert werden.
Wenn Ihre Änderungen auf ausreichend aktuellen Quellen beruhen, erstellen Sie als Nächstes einen Differenzensatz, den Sie an die FreeBSD-Entwickler schicken. Eine solche Differenz erstellen Sie mit man:diff[1].
Das bevorzugte man:diff[1]-Format für das Versenden von Patches ist das sogenannte unified output-Format, das Sie mit `diff -u` erstellen. Für größere Änderungen kann allerdings das context output-Format (erzeugt mit `diff -c`) die bessere Wahl sein.
Dazu ein Beispiel:
[source,shell]
....
% diff -c oldfile newfile
....
oder
[source,shell]
....
% diff -c -r olddir newdir
....
würde einen solchen Satz von Differenzen für die angegebene Verzeichnishierarchie erzeugen.
Genauso hätte
[source,shell]
....
% diff -u oldfile newfile
....
oder
[source,shell]
....
% diff -u -r olddir newdir
....
den gleichen Effekt, allerdings erfolgt die Ausgabe im unified diff-Format.
Lesen Sie dazu auch man:diff[1].
Nachdem Sie den Differenzensatz erstellt und mit man:patch[1] getestet haben, sollten Sie ihn an das FreeBSD-Projekt senden. Verwenden Sie dazu man:send-pr[1] (wie im Abschnitt <<contrib-general>> beschrieben). Senden Sie die Differenzen _nicht nur_ an {freebsd-hackers}, da diese sonst verloren gehen. Wir freuen uns über Ihren Beitrag (schließlich ist FreeBSD ein Freiwilligenprojekt); wir sind aber manchmal nicht in der Lage, das Problem sofort anzugehen. Es verbleibt aber in der PR-Datenbank, bis wir dafür Zeit finden. Verwenden Sie den Begriff `[PATCH]` im Synopsis-Feld des Berichts.
Sie können auch ein `tar`-Archiv erzeugen (was vor allem dann sinnvoll ist, wenn Sie Dateien hinzugefügt, gelöscht oder umbenannt haben) und man:uuencode[1] auf das Archiv anwenden. Mit man:shar[1] erzeugte Archive sind ebenfalls willkommen.
Wenn Ihre Änderungen potentielle Probleme aufweisen, wie Unklarheiten im Hinblick auf das Copyright, oder Sie einfach eine genaue Überprüfung Ihrer Änderungen möchten, sollten Sie die Änderungen an das {core-name} schicken, statt sie mit man:send-pr[1] zu versenden. Die Mailingliste {core-name} erreicht nur eine kleine Gruppe von Leuten, die sich um die tägliche Arbeit an FreeBSD kümmern. Beachten Sie aber, dass diese Gruppe _sehr beschäftigt_ ist. Daher sollten Sie nur dann eine E-Mail an sie schicken, wenn es absolut notwendig ist.
man:intro[9] und man:style[9] beschreiben den zu verwendenden Programmierstil. Bevor Sie also Code versenden, sollten Sie diese Informationen gelesen haben.
=== Neuer Code oder große Mehrwertpakete
Handelt es sich um einen bedeutenden Beitrag oder um das Hinzufügen von neuen wichtigen Fähigkeiten zu FreeBSD, ist es fast immer notwendig, die Änderungen als uuencoded tar-Dateien zu versenden, oder diese auf einer Internetseite oder einem FTP-Server bereitzustellen. Haben Sie keinen eigenen Speicherplatz im Internet, sollten Sie auf einer entsprechenden Mailinglisten nachfragen, ob jemand diese Aufgabe für Sie übernehmen kann.
Arbeitet man mit großen Codebeständen, kommt man unweigerlich mit den unterschiedlichen Lizenzen in Berührung. Code, der in FreeBSD enthalten ist, kann unter den folgenden Lizenzen stehen:
. Der BSD-Lizenz. Diese Lizenz wird von uns bevorzugt, weil sie an "keine Bedingungen" geknüpft ist und daher für kommerzielle Unternehmen sehr attraktiv ist. Das FreeBSD-Projekt unterstützt diese kommerzielle Verwendung, die manchmal sogar in eine Förderung des FreeBSD-Projekts mündet.
. Der GNU General Public License, oder "GPL". Diese Lizenz ist nicht ganz so beliebt bei uns, da sie die kommerzielle Nutzung des Quellcodes einschränkt. In Anbetracht der schieren Menge an GPL-Quellcode, den wir derzeit benötigen (wie Compiler, Assembler oder Textformatierer) wären wir aber schlecht beraten, Beiträge, die unter dieser Lizenz stehen, abzulehnen. Code, der unter der GPL steht, befindet sich in einem gesonderten Bereich des Quellcodebaums, und zwar unter [.filename]#/sys/gnu# oder [.filename]#/usr/src/gnu#, und ist daher für jeden, für den die GPL ein Problem darstellt, sofort erkennbar.
Beiträge, die unter einer dieser Lizenzen stehen, müssen sorgfältig geprüft werden, bevor ihre Aufnahme in FreeBSD in Betracht gezogen wird. Beiträge, für die besonders restriktive Lizenzen gelten, werden generell abgelehnt, obwohl die Autoren ermutigt werden, ihre Veränderungen über ihre eigenen Kanäle verfügbar zu machen.
Um Ihre Arbeit unter die "BSD-Lizenz" zu stellen, fügen Sie den folgenden Text am Beginn jeder von Ihnen erstellten Quellcodedatei ein, wobei Sie den Text zwischen den `%%`-Zeichen durch die entsprechenden Informationen ersetzt:
[.programlisting]
....
Copyright (c) %%Jahr der Veröffentlichung%%
%%Ihr Name%%, %%Ihr Land%% %%Ihre Postleitzahl%%.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer as
the first lines of this file unmodified.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY %%Ihr Name%% ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL %%Ihr Name%% BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id$
....
Eine Kopie dieses Textes finden Sie unter [.filename]#/usr/shared/examples/etc/bsd-style-copyright#.
=== Geld, Hardware oder Internetzugang
Wir freuen uns immer, wenn jemand das FreeBSD-Projekt durch Spenden unterstützen will. Auch kleine Spenden können eine große Wirkung haben. Hardwarespenden sind ebenfalls sehr wichtig, um die Liste der von FreeBSD unterstützten Hardware erweitern zu können, da uns die Mittel zum Erwerb dieser Hardware fehlen.
[[donations]]
==== Geldspenden
Die FreeBSD Foundation ist eine gemeinnützige Gesellschaft, die zur Unterstützung des FreeBSD-Projekts geschaffen wurde. Sie ist nach dem Paragraphen 501(c)3 sowohl von der amerikanischen Einkommenssteuer als auch von der des Staates Colorado befreit. Spenden an solche steuerbefreiten Gesellschaften können unter gewissen Umständen steuermindernd geltend gemacht werden.
Sie können Spenden in Scheckform an folgende Adresse senden:
[.address]
****
The FreeBSD Foundation +
P.O. Box 20247, +
Boulder, +
CO 80308 +
USA
****
Die FreeBSD Foundation ist nun auch in der Lage, Spenden durch das PayPal-System entgegenzunehmen. Solche Spenden können über die http://www.freebsdfoundation.org[Homepage] der Foundation erfolgen.
Für weitere Informationen zur FreeBSD Foundation sollten Sie den Artikel http://people.FreeBSD.org/~jdp/foundation/announcement.html[The FreeBSD Foundation -- an Introduction] lesen. Sie erreichen die FreeBSD Foundation über die E-Mail-Adresse mailto:bod@FreeBSDFoundation.org[bod@FreeBSDFoundation.org].
==== Hardwarespenden
Das FreeBSD-Projekt freut sich, wenn jemand benötigte Hardware spenden will. Sind Sie daran interessiert, setzen Sie sich bitte mit dem link:https://www.FreeBSD.org/donations/[Donations Liaison Office] in Verbindung.
==== Internetzugang zur Verfügung stellen
Wir sind ständig auf der Suche nach neuen FTP-, WWW- oder `cvsup`-Spiegeln. Wenn Sie einen solchen Spiegel einrichten wollen, lesen Sie bitte den Artikel link:{hubs}[Mirroring FreeBSD], der weitere Informationen enthält.
|