Starjumper
Hallo zusammen,
ich interessiere mich immer wieder mal in neue Programmiersprachen reinzuschnuppern. Gerne auch mit dem Ziel, wenn mir etwas besonders gut gefällt, auch diese Sprache potentiell kommerziell (closed source) zu benutzen.
Deswegen schaue ich auch immer in das Ökosystem der jeweiligen Sprache, insb. Lizenz, Compiler usw. Situation.
Viele Programmiersprachen sind ja in der Regel ziemlich frei und kostenlos was deren Basisnutzung angeht. Verdient wird eher durch besonders gute Compiler, ggf. IDEs, Librarys usw.
Aktuell interessiert mich ADA. Aber ich blicke da überhaupt nicht durch. Was ich verstanden habe:
- Es gibt GNAT von AdaCore, die Community Version darf theoretisch kommerziell benutzt werden, aber nur für Open Source
- Es gibt einen FSF Compiler für ADA, der featuremäßig etwas hinterherhinken kann, aber sonst alles (notwendige) kann
In sämtlichen Dokumenten, die ich im Internet finde, wird gcc für die reine Compilierung von ADA benutzt und dann wieder GNAT um zu Linken und Binden.
Gibt es denn überhaupt für ADA völlig freie, kostenlose Werkzeuge, die mir es ermöglichen vom Sourcecode bis hin zum lauffähigen Binärcode zu bauen?
stefanhusmann
GNAT ist der Ada-Compiler des GNU-Systems, also GPL-lizenzierte freie Software. Die Laufzeitbibliothek steht unter einer dualen Lizenz, die m.E. aber auch die kommerzielle Verwendung nicht verhindert.
Steht aber alles in der deutschen Wikipedia.
Starjumper
Ich habe dank dem IRC unerwarteter weise schnell Aufklärung bekommen.
Es gibt unterschiedliche Versionen des GNAT, die von AdaCore und die beim GCC dabei ist (In Arch das Paket: gcc-ada)
So wie es ich jetzt verstanden und nachgeschaut habe:
Die Community Edition von AdaCore erlaubt nur kommerzielle Software die selbst GPLv3 (kompatibel) ist, also offener code. Und die gcc Version von GNAT hat GPLv3 mit linking exception für die Runtime. Insofern geht das durchaus schon mit kommerzieller Entwicklung.
Alles in einem ist das lizenztechnische drumherum für die Programmiersprache Ada doch schon recht speziell. Insb. wenn man Sprachen wie Julia (MIT-Lizenz), Go (BSD-Lizenz) Kotlin (Apache2-Lizenz), Python3 (PSF-Lizenz) usw. inkl. deren Ökosystem wie Compiler usw. anschaut. Selbst C# hat in weiten Teilen eine MIT/X11-Lizenz, obwohl Microsoft eher für andere, geschlossenere Lizenzpraktiken bekannt ist.
Da braucht es schon sehr konkrete Gründe sich Ada kommerziell anzutun, wenn andere Programmiersprachen diesbezüglich viel weniger potentielle Probleme aufwerfen.
stefanhusmann
Für jede Programmiersprache braucht es gute Gründe, wenn es um kommerzielle Anwendung geht. Die Lizenz steht dem jedoch nicht im Wege. Notfalls muss man eben eine Lizenzvereinbarung eingehen. Wenn man den Quellcode nicht herausrücken will, ist das ja auch nur fair.
Soviel ich verstanden habe, ist das lizenztechnische Drumherum bei Ada so speziell, weil Ada selbst recht speziell ist. Ne Sprache, die zur Laufzeit Typen generiert und dann statsch typisiert hängt halt auch nicht an jedem Baum.
Starjumper
Sicherlich muss/sollte die jeweilige Programmiersprache technisch begründet sein, egal ob als Hobby, kommerziell usw.
Sicherlich ist Ada speziell und ich bin gewiss niemand, der alles umsonst auf dem Silbertablett geschenkt haben will.
Dennoch bleibt die etwas vertrackte Situation mit der Lizenz bei Ada, wenn man dies mit anderen Programmiersprachen vergleicht. Besonders, wenn AdaCore keine Preise öffentlich nennen mag, heißt dies für mich: "Es ist so teuer, dass der Hersteller keine Preise offen nennen mag." Das ist ein Grundsatz der sich in vielen Jahren Erfahrung IMMER bei mir bestätigt hat.
Auch wenn ich verstehe, dass ein Flugzeugbauer, Raketenfirma usw. anders und mehr zahlen sollte, als z.B. der kleine Ein-Mann-Entwickler, so ist diese Intransparenz nicht zielführend und für mich abschreckend.
Es gibt sicherlich viel Grundsätzliches zum Thema, was ist freie Software und wann diese gut, schlecht usw. ist zu diskutieren. Ich denke, dies wäre der falsche Ort im Forum dafür, da ja die Kernfrage gelöst ist. :-)
efreak4u
OFF TOPIC:
Starjumper schrieb...
Auch wenn ich verstehe, dass ein Flugzeugbauer, Raketenfirma usw. anders und mehr zahlen sollte, als z.B. der kleine Ein-Mann-Entwickler, ...
Erfahrungsgemäß zahlen Konzerne solcher Größenordnung für Ihre Lizenzen weit weniger, als die kleine Handwerksbude von Nebenan.