Veröffentlichung des Codes während und nach der Förderung

From Prototype Fund
Jump to navigation Jump to search

(English version below)

Mit dem Prototype Fund fördert das BMFTR ausschließlich Freie- und Open-Source-Software-Projekte (FOSS). Das heißt: alle geförderte Projekte müssen unter einer FOSS-Lizenz veröffentlicht werden und nach der Förderzeit zugänglich bleiben.

FOSS-Lizenzen

Freie- und Open-Source-Lizenzen erlauben es allen Nutzenden, den lizenzierten Quellcode unter bestimmten Bedingungen zu nutzen, zu teilen, zu ändern und weiterzuverbreiten.Wir empfehlen euch, möglichst früh in der Förderphase zu überlegen, was ihr nach Projektende mit eurem Code vorhabt. Das hilft euch, eine passende Lizenz zu wählen.In unserer Knowledge Base haben wir allgemeine Informationen und Ressourcen zum Thema Lizenzen sowie Tipps zur Auswahl einer Lizenz zusammengestellt. Zum Thema Lizenzen im Kontext des Prototype Fund gibt es auch unseren Blogpost hier.

Im Rahmen der Förderung werden wir oft gefragt, welche Lizenzen wir für euer Projekt empfehlen. Grundsätzlich steht euch die Wahl frei, solange es sich um eine anerkannte Freie- oder Open-Source-Softwarelizenz handelt. Wenn ihr euch noch nicht für eine Lizenz entschieden habt, ist die Liste der von der Open Source Initiative (OSI) anerkannten Lizenzen ein guter Ausgangspunkt.

Im Rahmen des Prototype Fund wurden bisher diese Lizenzen am häufigsten verwendet:

  • MIT: Eine freizügige Lizenz, die die Weiterverwendung der lizenzierten Software sowohl für Open-Source-Software als auch proprietäre Software erlaubt. Sie wird oft von Entwickler*innen gewählt, die ein einfaches Lizenzmodell suchen, das eine weite Nutzung und Integration ermöglicht.
  • GPLv3: Eine Lizenz mit Copyleft-Klausel, die Lizenznehmer*innen verpflichtet, jegliche Nutzung und Bearbeitung der Ursprungssoftware unter die gleiche Lizenz zu stellen. Projekte nutzen Lizenzen wie die GPLv3, um sicherzustellen, dass ihre Arbeit immer offen bleibt und nicht in proprietäre Software integriert wird.
  • AGPLv3: Eine Weiterentwicklung der GPL für Web-Dienste die AGPLv3 erfordert die Downloadmöglichkeit des Codes, selbst wenn die Software nur über ein Netzwerk genutzt wird. Sie eignet sich für Projekte, die als Webdienst betrieben werden und sicherstellen möchten, dass der Code für alle zugänglich bleibt, auch wenn Lizenznehmer*innen die Software als nur als Dienst betreiben.
  • Apache 2.0: Eine freizügige Lizenz, die eine rechtliche Absicherung in Bezug auf Patentstreitigkeiten bietet. Sie wird häufig von Organisationen gewählt, die zusätzliche rechtliche Schutzmechanismen wünschen.

Auf choosealicense.com könnt ihr außerdem viele hilfreiche Infos zur Auswahl der Lizenz finden, inkl. einer detaillierten Vergleichstabelle.

Veröffentlichung des Codes

Der im Rahmen der Förderung entwickelte Code muss für alle zugänglich gemacht werden. Wir empfehlen die Veröffentlichung auf der Softwareentwicklungsplattform eurer Wahl, z. B. GitHub, GitLab, Codeberg, Bitbucket oder ähnliches.Formell muss der Code erst einen Monat nach Ende der Förderung online verfügbar sein, wir möchten euch aber ermutigen, den Code wenn möglich schon früh in der Förderphase online zu stellen. Gerade, wenn ihr vorhabt, eine Community rund um euer Projekt aufzubauen und miteinzubeziehen, kann es vorteilhaft sein, den Code noch während der Entwicklung zu veröffentlichen. Zum einen ist es ganz im Sinne des Open-Source-Gedankens, dass Versuche und Lernprozesse offen und gemeinsam mit anderen geschehen. Zum anderen kann ein aktives Repository mehr Aufmerksamkeit für euer Projekt generieren, da es guten Einblick in eure Projektziele und Entwicklungsschritte gewährt. Zu Erfahrungen und Kommunikationsstrategien rund um den Code und das Repository kann euch dieser Knowledge Base Artikel helfen.

Wenn möglich, bitten wir euch, separate Repositories für den Code zu erstellen, der während des Förderzeitraums erstellt wurde. Wenn euer Projekt Teil eines größeren FOSS-Projekts ist, schickt uns nach Möglichkeit immer nur den Link zum konkreten Repo (bzw. die Links zu den konkreten Repos, wenn es mehrere gibt). Sollte die Arbeit in einem separaten Repo nicht möglich sein oder die Arbeit erschweren bzw. verhindern, meldet euch bitte kurz bei der Projektbetreuung. Wir legen zwar Wert auf Transparenz darüber, welche Teile eurer Projekte während des Förderzeitraums entstanden sind, möchten aber nicht, dass eure Arbeit dadurch schwieriger wird.

Das brauchen wir von euch:

  • Angabe im Schlussbericht: Der Link zum veröffentlichten Code muss spätestens einen Monat nach Förderende im Schlussbericht verlinkt werden. Dabei muss die verwendete Lizenz klar im Repository angegeben sein.
  • Mitteilung an die Projektbetreuung: Zusätzlich bitten wir euch, den Link zum Code direkt per e-Mail an die Projektbetreuung zu kommunizieren - am Besten schon während der Förderzeit, wenn der Code online ist, und spätestens ein Monat nach Ende der Förderzeit. Sofern nicht ausdrücklich anders gewünscht, wird der Link zum Repository schon während des Förderzeitraums, spätestens aber danach auf prototypefund.de verlinkt.
  • Logos: Das BMFTR-Logo muss auf eurer Projektwebseite abbgebildet werden. Das kann, je nachdem wie ihr eure Kommunikation aufgebaut habt, eine allgemeine Projektseite sein, oder auch der Readme-Bereich in eurem Github-Repository (o. ä.). Die Infos dazu (ihr braucht u. a. eine Freigabe dafür) findet ihr in eurem Zuwendungsbescheid. Wir freuen uns natürlich sehr, wenn ihr auch unser Prototype-Fund-Logo abbilden wollt, das dürft ihr aber frei entscheiden. Ob und wie das BMFTR-Logo (und ggf. das PTF-Logo) nach Ende der Förderzeit eingebunden werden kann, unterscheidet sich je nach Projektgröße:
    • Wenn das Projekt nur oder fast ausschließlich durch den Prototype Fund gefördert wurde, kann das Logo gerne so stehen bleiben, egal ob auf der Projektseite oder im Repo.
    • Wenn das Projekt nach dem Ende der Förderung stark wächst oder in ein größeres Projekt integriert wird, könnt ihr z. B.:
      • eine „Sponsorenseite“ wie bei Reproducible Builds erstellen.
      • einen Blogpost bzw. eine Unterseite auf der Hauptseite des Projekts (siehe z.B. Gnome) nutzen.
      • nur das Logo im Repository stehen lassen (wenn ihr für die Prototype-Fund-Förderung in einem separaten Repo gearbeitet habt).

Nachverfolgung und Weiterentwicklung nach der Förderung

FOSS-Projekte leben und entwickeln sich weiter, daher sind Änderungen am Code nach der Förderzeit sehr willkommen. Wenn der ursprüngliche Link zum Code auch mit Änderungen bestehen bleibt, ist alles in Ordnung. Wenn sich der Link ändert, informiert bitte das Prototype-Fund-Team, damit wir den Link auf prototypefund.de anpassen.Nach Abschluss der Förderung wird der veröffentlichte Code einmalig vom Prototype-Fund-Team geforkt, um den Stand des Projekts zum Ende der Förderzeit zu dokumentieren. Sobald die Schlussberichte eingehen, forken wir die im Bericht verlinkten Repositories auf unseren Github - auch wenn eurer Code ursprünglich auf einer anderen Plattform veröffentlicht wurde.Falls ihr während des Förderzeitraums nicht in einem separaten Repository arbeiten konntet, bitten wir euch, uns spätestens einen Monat nach Ende des Förderzeitraums in ein paar Sätzen mitzuteilen, in welchen Repos ihr beigetragen habt und was ihr dort konkret gemacht habt. Wir entscheiden dann im Einzelfall, wie wir eure Arbeit am besten archivieren können.

Sollte sich der Link zu dem/den Repository(ies) nach dem Förderzeitraum ändern, oder sollte sich die Projektstruktur grundlegend verändern (z.B. Merge des Projekts mit einem anderen FOSS-Projekt, komplettes Refactoring des Codes), bitten wir um eine kurze Benachrichtigung per Mail, damit wir die Projektinformationen auf der Webseite anpassen können. Wir freuen uns natürlich auch immer auf allgemeine Updates über das Projekt :)

Der Code, der während der Förderzeit entstanden ist, muss nach der Förderung unter einer FOSS-Lizenz verfügbar bleiben

Eine Änderung der Lizenz auf eine proprietäre Lizenz ist nicht möglich, auch nicht für die kommerzielle Nutzung des Projekts. Selbstverständlich können Code-Bausteine, die nach oder außerhalb der Förderung rund um das Projekt entstehen, unter anderen Lizenzen, auch proprietären, veröffentlicht werden. Da wir aber ein großes <3 für FOSS haben, möchten wir euch die Frage mitgeben: Muss das sein? Oder wollt ihr euch vielleicht ein bisschen mit FOSS-Geschäftsmodellen beschäftigen? ;)

Guidelines for publishing the code during and after funding

Through the Prototype Fund, the BMFTR exclusively supports Free and Open-Source Software (FOSS) projects. This means that all funded projects must be released under a FOSS license and remain publicly available after the funding period.

FOSS licenses

Free and Open-Source licenses allow all users to use, share, modify and redistribute the licensed source code under specific conditions.We recommend thinking about what you'll do with your code after the project ends as early as possible during the funding phase. This will help you pick the right license. In our Knowledge Base, we have compiled general information and resources about licensing, as well as tips on choosing a license. For more information about licenses in the context of the Prototype Fund, you can read our blog post here.

During the funding period, we often get asked which licenses we recommend for your project. In principle, the choice is yours, as long as it is a recognized Free or Open-Source software license. But if you haven’t made a decision yet, the list of licenses recognized by the Open-Source Initiative (OSI) is a good starting point.

These are the licenses most commonly used in Prototype Fund projects so far:

  • MIT: A permissive license that allows the reuse of the licensed software for both Open-Source and proprietary software. It is often chosen by developers who are looking for a simple licensing model that enables wide use and integration.
  • GPLv3: A copyleft license that requires recipients to release any modifications or uses of the original software under the same license. Projects use licenses like GPLv3 to ensure their work stays open and isn’t integrated into proprietary software.
  • AGPLv3: A further development of the GPL for web services - the AGPLv3 requires to provide an option to download the code, even if the software is only used via a network. It is suitable for projects that are operated as a web service and want to ensure that the code remains accessible to all, even if licensees operate the software only as a service.
  • Apache 2.0: A permissive license that offers legal protection against patent disputes. It is often chosen by organizations that desire additional legal protection mechanisms.

On the website choosealicense.com you can also find more information on the selection of the license, including a detailed comparison table.

Publication of the code

The code developed during the funding period needs to be accessible to everyone. We recommend that you publish it on the software development platform of your choice – for example GitHub, GitLab, Codeberg or Bitbucket.Formally, the code needs to be online no later than one month after the funding ends. However, we strongly encourage you to share your code publicly as early as possible! Especially if you plan to build and engage a community around your project, publishing the code during the development phase can really work in your favor. In fact, putting your code out early is totally in the Open-Source spirit – it lets others see your process, your experiments, and even join in on the learnings. Plus, an active repository is a great way to draw attention to your project. It gives people a clear view of what you're working on and how you're building it. This Knowledge Base post can guide you with strategies for communicating about the code and your repository.

If possible, we ask you to create separate repositories for the code that was written during the funding period. If your project is part of a larger FOSS project, please send us only the link to the concrete repo (or the links to the concrete repos, if there are several). If working in a separate repo isn’t possible or makes things more difficult, please inform the program management team as early as possible. We want to show which parts of the project were developed during the funding, but we don’t want that to make your work harder.

This is what we need from you:

  • Link to the code in the final report: The link to the published code must be published in the final report one month after the end of funding, latest. The license used must be clearly stated in the repository.
  • Notification to the program management team: In addition, we ask you to communicate the link to the code directly to the program management team by e-mail - ideally during the funding period when the code is online, and no later than one month after the end of the funding period. Unless explicitly requested otherwise, the link to the repository will be linked on prototypefund.de during the funding period if it is available, and at the latest one month after your funding time ends.
  • Logos: The BMFTR logo must be displayed on your project website. Whether it is on a general project page or in the Readme section of your GitHub repository (or a similar platform), you’ll need to make sure it’s visible. You can find all the details about this – including the approval process – in your funding notification. We appreciate it if you also want to display our Prototype Fund logo, but that's totally up to you. How and whether you include the BMFTR logo (and possibly the PTF logo) after the funding period depends on the size of your project:
    • If the project was primarily funded by the Prototype Fund, you can keep the logo as it is, whether it's on the project page or in the repo.
    • If the project grows significantly after funding or becomes part of a larger project, here are for example a few options:
      • Create a "sponsors page" (like the one from Reproducible Builds)
      • Write a blog post or a subpage about your Prototype Fund project on your project's main website (see, for example, Gnome)
      • Or, if you worked in a separate repository for the Prototype Fund funding, you can display the logo in the repo.

Follow-up and Further Development after Funding

FOSS projects are alive and continually evolving, so changes to the code after the funding period are very welcome. If the original link to the code remains the same as shared in the final report, even with changes, you don‘t need to do anything. If the link changes, please inform the Prototype Fund team, so we can adjust the link on prototypefund.de.After the end of the funding period, the Prototype Fund team will fork the code in order to document the state of the project after funding. As soon as the final reports come in, we fork the repositories to our Github - even if your code was originally published on another platform. If you were unable to work in a separate repository during the funding period, please send us a few sentences explaining which repos you contributed to and what work you specifically did in these repos at the latest one month after the end of the funding period. We will then decide on a case-by-case basis how we can best archive your work.

If the repository link changes or your project undergoes major changes (like a merge with another FOSS project or a complete code overhaul), let us know by e-mail so we can adjust the info on the website. We are, of course, always happy about general updates about the project :)

As a reminder, the code created during the funding period must stay available under a FOSS license after the funding ends.

A change of the license to a proprietary license is not possible, not even for the commercial use of the project. Of course, code modules created after or outside the funding period can be published under different licenses, including proprietary ones. But as we have a big <3 for FOSS, we would like to encourage you to ask yourself if this is really the best idea -  or maybe this is a great opportunity to learn a bit more about FOSS business models? ;)