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) ?
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?
Wär nett, wenn ein paar Leute ein paar Worte verlieren würden 🙂
Grüße vom Abt
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
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
ImageTools for Silverlight: http://imagetools.codeplex.com | http://www.silverdiagram.net | http://www.cleancodedeveloper.de b:::
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.