Programm mit windows.h - Frage zu Lizenz



  • °-° schrieb:

    wie gesagt, windows.h ist da als quelldatei NICHT dabei (ich benutze es halt nur in dem von mir geschriebenen code, bzw. nutze halt funktionen von windows.h), aber in der exe liegt ja dann windows.h im binärformat oder so vor.

    In der .exe bleibt von der windows.h kaum was übrig.

    darf ich dann die kompilierte exe überhaupt mitveröffentlichen, wenn ich das ganze unter einer der gnu gpl lizenzen (wahlweise v3) oder (ich bin mir noch nicht sicher!) unter public domain veröffentlichen will?

    Ich behaupte einfach mal: ja, darfst du.

    oder bekomme ich probleme mit ms?

    Sagen wir mal so: tausende andere die genau das gemacht haben, haben keine Probleme mit MS bekommen.
    Bin mir nichtmal sicher ob das Windows.h File das mit MinGW mitkommt überhaupt (C) Microsoft ist.

    wie machen das den andere programme, wie auch windows.h nutzen und eine vorkompilierte binärdatei mitliefern?

    Compilieren, veröffentlichen, nicht weiter drüber nachdenken.

    und wie sieht das mit der standardbibliothek aus (stdio.h, string.h usw.) aus?

    Was meinst du? Jede Standard-Library hat ihre eigene Lizenz. Je nachdem welche du verwendest, wird das 'ne andere sein.
    I.a. gibt es da (Standard-Library) aber keine Probleme zu befürchten.



  • hustbaer schrieb:

    In der .exe bleibt von der windows.h kaum was übrig.

    das bezweifel ich, da ich windows.h zum "fensterbauen" verwende.

    Ich behaupte einfach mal: ja, darfst du.

    auf welcher grundlage?

    das problem ist, dass windows.h noch 1000 (übertrieben?) andere headerdateien inkludiert.



  • °-° schrieb:

    hustbaer schrieb:

    In der .exe bleibt von der windows.h kaum was übrig.

    das bezweifel ich, da ich windows.h zum "fensterbauen" verwende.

    Das bezweifel ich 😉 Windows.h enthält nur die Funktionsdeklarationen. Die Funktionen selber werden in kernel32.lib, user32.lib usw. definiert. Und selbst diese Bibliotheken enthalten eig. keinen Code, sie sind nur Import-Libraries für die Kernel32.dll, User32.dll usw. in denen der eigentliche Code steht. Diese sind allerdings auf jedem Windows-System vorhanden und du lieferst sie nicht mit -> du brauchst dir keine Sorgen macen.



  • das bedeutet also: ich liefere in der binary nur die aufrufe, die auf dem system ausgeführt werden. das ist aber auch noch ok?

    diese .libs werden also nicht mit in die exe "gepackt"?



  • °-° schrieb:

    hustbaer schrieb:

    In der .exe bleibt von der windows.h kaum was übrig.

    das bezweifel ich, da ich windows.h zum "fensterbauen" verwende.

    Bezweifle was du willst.

    Ich behaupte einfach mal: ja, darfst du.

    auf welcher grundlage?

    das problem ist, dass windows.h noch 1000 (übertrieben?) andere headerdateien inkludiert.

    Soso. Und was soll daran jetzt das Problem sein?



  • Soso. Und was soll daran jetzt das Problem sein?

    na ich werde jetzt nicht alle 1000 dateien mit dem editor öffnen und nachschauen, wer das geschrieben hat und unter welcher lizenz das veröffentlicht wurde.



  • °-° schrieb:

    das bedeutet also: ich liefere in der binary nur die aufrufe, die auf dem system ausgeführt werden. das ist aber auch noch ok?

    diese .libs werden also nicht mit in die exe "gepackt"?

    Jain. Die Libs werden schon in die Exe gepackt, aber sie enthalten halt nur die Import-Definitionen.



  • Jonas OSDever schrieb:

    °-° schrieb:

    das bedeutet also: ich liefere in der binary nur die aufrufe, die auf dem system ausgeführt werden. das ist aber auch noch ok?

    diese .libs werden also nicht mit in die exe "gepackt"?

    Jain. Die Libs werden schon in die Exe gepackt, aber sie enthalten halt nur die Import-Definitionen.

    und das ist wohl von microsoft erlaubt?



  • Ich kenn die MS-Lizenstexte nicht auswendig.
    Aber ich denke schon, dass es erlaubt ist. Warum sonst würden die das Platform-SDK kostenlos rausgeben? Die wollen doch, dass Software für Windows entwickelt wird, denn so wird Windows beliebter. Das ist die Rechnung.
    Außerdem wäre mir nicht bekannt, das MS schonmal jemanden wegen "unerlaubten Nutzens von Import-Bibliotheken" verklagt hat.



  • Jonas OSDever schrieb:

    Ich kenn die MS-Lizenstexte nicht auswendig.
    Aber ich denke schon, dass es erlaubt ist. Warum sonst würden die das Platform-SDK kostenlos rausgeben? Die wollen doch, dass Software für Windows entwickelt wird, denn so wird Windows beliebter. Das ist die Rechnung.
    Außerdem wäre mir nicht bekannt, das MS schonmal jemanden wegen "unerlaubten Nutzens von Import-Bibliotheken" verklagt hat.

    ist das plattform-sdk windows.h? (nur so ne frage)



  • Das Platform-SDK enthält hauptsächlich alle Windows-Header-Dateien (darunter fällt auch Windows.h, aber bei weitem nicht als einzige), die WIndows-Bibliotheken (u.a. kernel32.lib user32.lib) und neuerdings glaub ich sogar DirectX (letzteres ohne Gewähr). Außerdem enthielt es einen Compiler, aber das soll sich ab der nächsten Version ändern. Dürfte aber bei weitem nicht alles sien, was mitgeliefert ist.
    Schaus dir doch einfach mal selber an: C:\<Programmordner>\Microsoft SDKs\Windows\<Version>



  • @Jonas OSDever
    Er verwendet WinGW. Weiss nicht 100% ob das immer noch so ist, aber WinGW hat immer sein eigenes SDK mitgebracht, weil WinGW mit dem offiziellen MS SDK nicht klarkommt.
    Das liegt dann dementsprechend nicht unter %ProgramFiles%\Microsoft SDKs\... sondern wo auch immer MinGW installiert ist.



  • Jonas OSDever schrieb:

    Das Platform-SDK enthält hauptsächlich alle Windows-Header-Dateien (darunter fällt auch Windows.h, aber bei weitem nicht als einzige), die WIndows-Bibliotheken (u.a. kernel32.lib user32.lib) und neuerdings glaub ich sogar DirectX (letzteres ohne Gewähr). Außerdem enthielt es einen Compiler, aber das soll sich ab der nächsten Version ändern. Dürfte aber bei weitem nicht alles sien, was mitgeliefert ist.
    Schaus dir doch einfach mal selber an: C:\<Programmordner>\Microsoft SDKs\Windows\<Version>

    da hat hustbaer recht, ich MinGW, da ist zwar windows.h auch dabei, aber kein sdk.

    gibt es irgendwelche lizenztexte von ms oder so die klarheit bringen könnten?

    es benutzen viele pogramme windows.h,oder? wie genau machen die denn das?



  • * ich wollte schreiben "..., ich benutze MinGW, ..." 😃



  • Stimmt, Sorry. Immer wenn ich Windows.h höre wird bei mir automatisch das VS-Flag gesetzt. 😉
    Also korrigiere ich mich: Such im Installationspfad von MinGW. Da dürftest du trotzdem auf ähnliche Header und Libraries stoßen. Und die Libs sind wahrscheinlich auch wieder nur Importe der Windows-System-DLLs.

    EDIT: Sorry II, die Posts haben sich überschnitten.
    Und ja, es gibt viele Programme, die Windows.h benutzen. Eigentlich jedes GUI-Programm unter Windows und auch viele Konsolenprogramme, die Systemspezifische Sachen brauchen.
    Lizenstexte sind, wenn überhaupt, irgendwo in der MinGW-Doc oder dierekt in den Headern.
    Wenn du wirklich so große Angst hast, ohne Lizenstexte was falsch zu machen, würde ich einen Wechsel zum offizielleb SDK mit dem Standard-Compiler für WinAPI, VS, erwägen.



  • ok, im mingw-ordner gibt es mehrere unterordner, einer davon ist "include" da sind die ganzen .h dateien drinnen, und in "lib" sind lauter ".a" dateien drin.

    kleine frage:
    wenn ich was mit windows.h schreibe, werden dann diese .libs von MEINEM system gebildet, oder aus den dateien in "lib" (da sind lauter dateien ala "libws2_32.a" drinnen)?



  • Die Libs sind nur kleine statische Wrapper um die dyamischen Bibliotheken. DAmit man halt statisch zu den dynamische Bibliotheken linken kann.



  • @°-°

    Wieso fragst du nicht einfach bei Microsoft nach? 👍


Anmelden zum Antworten