Laden...

Welche Plattform für freie (Open Source-) Projekte wird von euch bevorzugt?

Erstellt von Abt vor 10 Jahren Letzter Beitrag vor 10 Jahren 3.211 Views
Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 10 Jahren
Welche Plattform für freie (Open Source-) Projekte wird von euch bevorzugt?

Hallo zusammen,

mich interessiert diese Frage aus zwei Perspektiven; mit dem Fokus auf freie Projekte.

Perspektive 1: Projekt Anbieter
Ihr habt eine Idee, die ihr (evtl. als Open Source) anbieten wollt.
Wie geht ihr vor?* Welche Präsenz-Plattform wählt ihr (github, codeplex, google code, bitbucket, codeproject) ?

  • Wieso gerade diese? Hat diese besondere Features, die ihr nutzt? Oder Zugehörigkeiten (codeplex <> ms) ? Oder Aussehen?
  • Welche Source Code Verwaltung wird von euch bevorzugt, wenn mehrere (TFS, SVN, git, ...) zur Auswahl stehen?
  • Welche Lizenz wählt ihr? Hat das einen bestimmten Grund?
  • Bietet ihr den kompletten Source Code oder nur die kompilierte Fassung an?

Perspektive 2: Entwickler (Projekt Konsument)
Ihr wollt eine neue Funktion in eurer Anwendung bereitstellen.* Sucht ihr zuerst nach vorhandenen Bibliotheken oder versucht ihr es erst mal selbst?

  • Sucht ihr per Suchmaschine oder geht ihr gezielt auf Projekt-Plattformen zu (hierzu zähle ich in diesem Fall auch NuGet) ?
  • Welche Plattform findet ihr am übersichtlichsten in der Handhabung und der zielorientierten Suche?
  • Wenn mehrere passenden zur Auswahl stehen, woran orientiert ihr euch? Download-Zahlen? Dokumentation (HelpFile oder Intellisense??) ?
  • Wollt ihr ein externes Projekt am liebsten direkt integriert haben (Copy + Paste des Source Code ins eigene Projekt) oder stört euch die weitere DLL im Hauptverzeichnis nicht weiter?

Wär nett, wenn ein paar Leute ein paar Worte verlieren würden 🙂
Grüße vom Abt

E
395 Beiträge seit 2007
vor 10 Jahren

Perspektive 2: Entwickler (Projekt Konsument)
Ihr wollt eine neue Funktion in eurer Anwendung bereitstellen.

Sucht ihr zuerst nach vorhandenen Bibliotheken oder versucht ihr es erst mal selbst?

ich suche mittels stichpunkten die mein problem beschreiben, meistens stößt man dann recht schnell auf ihrgend welche bibliotheken

Sucht ihr per Suchmaschine oder geht ihr gezielt auf Projekt-Plattformen zu (hierzu zähle ich in diesem Fall auch NuGet) ?

einfach nur google. wenn ich etwas bestimmtes suche und noch inetwa weis wo ich das das lezte mal gesehen habe dann wird mit "site:<seitenname>" das ergebniss eingeschränkt

Welche Plattform findet ihr am übersichtlichsten in der Handhabung und der zielorientierten Suche?

MyCSharp (😉) CodeProject, Codeplex

Wenn mehrere passenden zur Auswahl stehen, woran orientiert ihr euch? Download-Zahlen? Dokumentation (HelpFile oder Intellisense??) ?

Meistens habe ich nicht das Glück da ich oftmals auf .Net 2.0 angewiesen bin. Solten einmal mehrere zur verfügung stehen so werden alle in einem Testprojekt ausprobiert und die "beste" verwendet.

Wollt ihr ein externes Projekt am liebsten direkt integriert haben (Copy + Paste des Source Code ins eigene Projekt) oder stört euch die weitere DLL im Hauptverzeichnis nicht weiter?

Lieber eine DLL.

MfG Paul

742 Beiträge seit 2005
vor 10 Jahren
  1. Anbieter
  • Ich habe meine eigenen Projekte noch auf Codeplex würde jetzt aber GitHub wählen
  • War von SVN und TFS bei Codeplex genervt und habe deshalb was neues gesucht. Hier habe ich meine eigenen, Closed-Source Projekte. Außerdem ist die Entwickler-Community riesig.
  • Git oder auch Mercurial
  • Irgendeine die für kommerzielle Projekte passt, da setze ich mich aber zugegeben zuwenig auseinander
  • Ich biete meine Projekte immer mit Code an, ohne ist für mich ein NoGo, siehe letzt Antwort.
  1. Entwickler
  • Kommt auf den Aufwand an. Bei Javascript nutze ich eigentlich immer Plugins, auch für kleinste Funktionen, bei .NET kommts dann wirklich auf den Aufwand an. Unter 4h code ich es immer selbst. Und natürlich, wenn es irgendwelche speziellen Anforderungen sind (Polygone vereinigen ist nicht so trivial wie man vll. denkt 😉)
  • Ich suche zu 70% direkt bei Git und sonst Google. Suche nie direkt über NuGet, das ist mir nicht transparent genug.
  • Sehe bei Suche keine große Unterschiede
  • In erster Linie Kombination aus Download-Zahlen, Bewertung und Doku (Wiki etc.), XML-Kommentare usw. sind mir recht egal, da steht meistens eh wenig hilfreiches, wenn sich die Entwickler nicht extrem anstrengen.
  • Wenn ich ein externes Projekt nehme, dann erst über NuGet, dann über DLL im lib-Folder und dann Source Code. Ich will bei externen Projekten aber immer den Quellcode haben, damit ich zur Not auch mal was fixen kann, bzw. mir bei schlechter oder unzureichender Doku selber anschauen kann, wie es funktioniert. Ausnahme: Kommerzielle Projekte (z.B. Telerik), da erwarte ich aber gute Doku und Support.
5.742 Beiträge seit 2007
vor 10 Jahren

Hallo Abt,

ich habe zwar keine aktiven OS-Projekte (private Projekte liegen in GIT auf einem TFS - klappt bisher echt ganz gut), also rein aus Entwicklersicht:

Nichts gegen Codeplex, allerdings habe ich das Gefühl, dass die Plattform leider ein wenig auf dem "Abstellgleis" ist: Es finden sich dort zwar einige qualitativ hochwertige Projekte, aber recht wenige davon werden wirklich noch aktiv gemaintained.
Außerdem ist Codeplex IMHO etwas "isoliert" auf MS - mit GitHub erreicht man meiner Meinung nach eine deutlich größere Community (insbesondere bei nicht-MS Technologien wie Java, JavaScript etc.).

Zudem finde ich die Oberfläche von GitHub deutlich angenehmer als die von Codeplex; ist aber mehr subjektiv. Wichtig für den Erfolg eines OS-Projektes ist IMHO auch eine aktuelle Readme-Datei, die (zumindest ungefähr) beschreibt, wie man das Projekt eingebunden und zum Laufen kriegt. Ohne die ist ein Projekt bei mir meist "unten durch", da ich teilweise die Erfahrung gemacht habe, dass selber machen (bei kleineren Komponenten) in so einem Fall schneller geht.

Da ich inzwischen mehr im Java-Umfeld unterwegs bin (MS ist bei meinem Arbeitgeber nicht allzu gerne gesehen; äußert sich auch in einer fehlenden Office-Lizenz...) nutze ich meist Maven (geht in die Richtung von NuGet, allerdings XML-basiert und deutlich mächtiger).

Dazu muss ich sagen, dass mich das Dependency-Management unter .NET immer ein wenig davon abgehalten hat, "triviale" Komponenten zu verwenden: Wohin damit? Ins Sourcecontrol? Wie sieht das dann mit den Lizenzen aus etc.? (Note: Rein rhetorisch, die Frage 😉 ).
Unter Maven ist das anders: Fünf Zeilen XML hinzufügen und die Dependency wird automatisch geladen und eingebunden und der Build läuft reproduzierbar auch über Plattformgrenzen (OSX / Windows). Kompilate oder Quellcode runterzuladen (und dann Stunden damit zu verbringen, diesen zum Kompilieren zu bringen... - daher ein klares Nein! zum Wunsch, den Fremdcode in den eigenen zu integrieren), fühlt sich damit dann schon richtig altertümlich an.

Ähnlichen Komfort bin ich bisher nicht von NuGet gewohnt, in letzter Zeit hat sich die Situation aber IMHO deutlich verbessert - allerdings sind bisher nur recht wenige Projekte auch tatsächlich dort verfügbar.