2009-03-05 6 views
9

Ich bin daran interessiert, etwas herauszufinden. In Delphi war der Standard, der beim Kauf von Komponenten verwendet wurde, in der Lage zu sein, sie mit der Quelle zu kaufen (auch wenn es eine etwas teurere Option sein könnte). Das hat in Delphi aus einer Reihe von Gründen Sinn gemacht: Erstens hat Borland mit jeder Delphi-Installation die volle Quelle der VCL geliefert, aber auch die Quelle wurde als essentiell angesehen, da Sie bei der Aktualisierung von Delphi neu kompilieren mussten und manchmal Autoren gab das Geschäft auf.Wie viele Leute haben Ihre Kaufoption "mit Quelle" missbraucht?

Ich bin daran interessiert, herauszufinden, ob Delphi Component Writer jemals jemals Grund gehabt haben, zu bereuen, ihre Komponente "mit Quelle" zu verkaufen? Hat jemand versucht, ein Konkurrenzprodukt basierend auf Ihrem Code zu veröffentlichen, oder als eigenes Produkt weitergegeben?

Der Grund, warum ich frage, ist, weil es immer noch die Ausnahme und nicht die Norm zu sein scheint, eine "mit Quelle" -Option beim Kauf eines ActiveX-Steuerelements oder einer .NET-Assembly bereitzustellen. Vielleicht kann die Gewissheit, dass die Leute die Quelle für schändliche Zwecke nicht wollen, mehr Komponentenautoren davon überzeugen, dass Quellcode zusammen mit der Komponente gekauft werden kann.

Antwort

7

Ich habe persönliche Erfahrung damit. Ich verkaufte eine Komponenten- und Funktionsbibliothek für Delphi (Clipper-Funktionen für Delphi, AKA CFD); Wir gingen im Jahr 2000 von Version 1 in '96 auf Version 5, als ich eine Arbeit nahm, die Schwarzarbeit nicht zuließ. Wir hatten am Ende mehr als 5000 registrierte Benutzer; Ich biete immer noch einige von ihnen mit kostenlosen Updates und gelegentlichen Bugfixes.

Ich hatte nie einen Grund, die Quelle nicht zur Verfügung zu stellen. Tatsächlich gab es keine Option, CFD ohne Quelle zu kaufen. Ich würde keine kommerzielle Delphi-Komponentenbibliothek kaufen, von der meine App ohne Quelle abhängig wäre, aus genau den Gründen, die Sie nennen (Neukompilierung mit neuen Delphi-Versionen und Anbietern, die weggehen).

+0

Ich nehme an, du meinst "Ich hatte nie einen Grund, die Quelle nicht verfügbar zu machen"? :-) – onnodb

4

Wenn der Komponentenschreiber keine Form der Verschleierung verwendet, kann die Quelle für eine .Net-Baugruppe mithilfe eines Reflektors ermittelt werden.

Ich habe dies auf Assemblys von Microsoft sowie anderen Anbietern verwendet, um Probleme in ihrem Code aufzuspüren. In einigen Fällen ging ich voran und reparierte das Problem und kompilierte es erneut; aber tu das auf eigene Gefahr.

+0

Dies kann praktisch sein, wenn Sie herausfinden möchten, wie sie eine bestimmte Sache gemacht haben, aber es ist sehr unpraktisch, wenn Sie den Quellcode für die Anwendung vollständig neu erstellen möchten. –

+0

Ich bin mir nicht sicher, warum Sie das für unpraktisch halten. Normalerweise ist alles in nur ein paar Baugruppen zusammengestellt, die sehr leicht auseinander zu reißen sind. – NotMe

+0

Welche Methode verwenden Sie, um die Quelle neu zu kompilieren, die Sie nicht haben? Ich habe das nie gemacht, aber ich kann mir nicht vorstellen, dass Sie Code aus dem Reflektor kopieren ... –

0

Ich habe ein Problem vor allem mit. Net-Skinning-Bibliotheken. Ich habe keine gut genug gefunden, die den Code für einen ziemlich wirtschaftlichen Preis einschließen würden. Ich spreche von Preisen, die über die Preisgrenze von 1000 US-Dollar hinausgehen, was ich astronomisch für einen freiberuflichen Entwickler für nur ein Stück Software halte. Aber die Dinge, die in jeder Sprache schwieriger zu implementieren sind, sind auch die teuersten. Es gibt also eine Beziehung zwischen diesen beiden Faktoren in der Schwierigkeit, etwas Ähnliches zu implementieren. Ich weiß, das ist keine Antwort auf deine Frage, aber meine eigene Sicht der Dinge.

0

Ich habe keine persönliche Erfahrung mit diesem, aber ich weiß, dass Quellcode Wasserzeichen verfügbar ist und einige Anbieter haben es verwendet. Nicht sicher, wie erfolgreich es wäre.

Ich habe noch nie von jemandem gehört, der ein Konkurrenzprodukt mit Quellcode von einem anderen kommerziellen Anbieter veröffentlicht hat. Es passiert jedoch häufig mit Open Source.

1

Für alle Delphi-Komponenten, die ich in den letzten 10 Jahren entwickelt habe, war immer der vollständige Quellcode enthalten. Es wäre jedoch ein großer Vorteil, ein kompatibles binäres (DCU) Format (ähnlich zu Java und .NET) in Delphi für Testversionen oder für kostengünstige "persönliche Editionen" zu haben - Versionen, die die echten kommerziellen Entwickler nicht anziehen, weil des fehlenden Quellcodes. Das Kompilieren von DCUs für Delphi 5,6,7,2006, 2007 und 2009 ist möglich (wenn die Delphi-Lizenzen vorhanden sind), aber die Verwaltung so vieler verschiedener Code-Versionen erfordert viel Arbeit für automatische Build- und Verpackungssysteme ...