[C#] Licensfråga - Sälja programmet vidare

Permalänk
Medlem

[C#] Licensfråga - Sälja programmet vidare

Hej,
jag har utvecklat ett program åt ett av de större företagen i världen. Företaget ska gå onämnt för stunden och är inte relevant i frågeställningen. Programmet är ett schemaprogram. Du kan skapa scheman, inlägg { allt mellan lägga till och ta bort }, hantera användare { krypterade personuppgifter }, statistik utifrån insamlad data från nämnd hantering, koppla upp schemat till internet och även göra såklart, lite mer grejer.

Bakgrundsinfo:

Jag har utvecklat det då budgeten för min avdelning inte är tillräcklig hög för att hyra in dyrare mjukvara.

Vad jag är mest intresserad av att veta är att det här programmet ska börja användas på den arbetsplats där jag är anställd. Företaget kommer använda det till sina drygt 14 anställda på min avdelning först. Men innan det vill jag veta mina möjligheter.

Jag avser att sälja licenser till mitt program. En antingen engångslicens som ger åtkomsten att använda mitt program eller också sälja det helt.

Men jag vet inte med vilken licens den ska publiceras. Just nu ägs allt utom en grej av mig, det är just MySQL's C# connector som är publiceras under GPL.

Vilka möjligheter har jag i den här situationen då enligt min vetskap ska program som använder GPL inte vara proprietära?
Programmet kommer användas till flera olika företag som jobbar under samma tak, men då vill jag såklart att det ska vara tillåtet att använda det på arbetsplatsen.

Programmet är egentligen klart för att packas och skickas, allt är kontrollerat, allt funkar (just nu). Men, sista problemet.

Svar på frågor jag kan tänka mig som kommer upp:

  • Servern är hos mig, möjligt att flytta över till företaget senare

  • All kod är utvecklad av mig, inkluderat grafiken

  • Inga externa bibliotek förutom MySQL's tidigarenämnda

  • Jag frågar eftersom jag är dålig på att läsa mig in i licenser och deras omfattning

  • Utvecklat i C#, använder MySQL för lagring

Vad bör jag göra?

Visa signatur

Citera om du vill ha svar, hjälpte jag dig, gilla svaret!
Felkod40

Permalänk
Medlem

Mina tipps lite snabbt.

1) Till att börja med, se till att koden inte finns i företaget eller på företagsdatorer. De kan då försöka hävda att du gjort arbetet på arbetstid och att det därmed ägs av dem. Flytta inte din server till företaget, sälj mot kvitto eller se till att företaget sätter upp en virtuell instans åt dig eller köper in server.

2) Om det är något generellt som fler kan sälja, leta upp ett bolag som kan sköta försäljningen åt dig.

3) Fundera på hur mycket tid du lagt ned på jobbet och jämför med andra produkter för att sätta en lisenskostnad per användare.

4) Sök och jämför olika avtal om ingen här har något bra färdigställt som liknar något som skulle passa dig.

Visa signatur

Intel Core i7 8700K, MSI GeForce GTX 1080 Ti 11GB Gaming X, Samsung 960 EVO 1TB, MSI Z370 GAMING M5, Corsair 32GB (4x8GB) DDR4 3200MHz CL16 Vengeance, EVGA Supernova G3 850W

INTEL CORE I7 3930K 3.20GHZ 12MB S-2011, FRACTAL DESIGN MIDITOWER DEFINE R3, CORSAIR HX 1050W, ASUS RAMPAGE IV FORMULA, Asus STRIX GTX970, CORSAIR 16GB DDR3 DOMINATOR QUAD 1866MHZ CL9 (4X4GB) Ljud: ASUS Xonar D2X/XDT 7.1 | Elac 5.1 +förstärkare | Cambridge dacmagic plus | Astro gaming A40 | Sennheiser HD 650
You ask me if I have a god complex? Let me tell you something, I am god!

Permalänk
Medlem

Har du alltså utvecklat det helt på din fritid? Tycker det är lite oklart.

Visa signatur

8700K 5Ghz | 32GB 3200Mhz | 2080Ti 11GB | Phanteks Enthoo | Asus PG27AQ

Permalänk
Medlem
Skrivet av crumpets:

Har du alltså utvecklat det helt på din fritid? Tycker det är lite oklart.

Svar ja.

Visa signatur

Citera om du vill ha svar, hjälpte jag dig, gilla svaret!
Felkod40

Permalänk
Medlem
Skrivet av IceDread:

Mina tipps lite snabbt.

1) Till att börja med, se till att koden inte finns i företaget eller på företagsdatorer. De kan då försöka hävda att du gjort arbetet på arbetstid och att det därmed ägs av dem. Flytta inte din server till företaget, sälj mot kvitto eller se till att företaget sätter upp en virtuell instans åt dig eller köper in server.

2) Om det är något generellt som fler kan sälja, leta upp ett bolag som kan sköta försäljningen åt dig.

3) Fundera på hur mycket tid du lagt ned på jobbet och jämför med andra produkter för att sätta en lisenskostnad per användare.

4) Sök och jämför olika avtal om ingen här har något bra färdigställt som liknar något som skulle passa dig.

All kod har lagrats på min privata dator, men sant, jag har dubbelkollat mappar jag lagrar i och ingen källkod eller kod är lagrad.

Du har bra punkter. Företaget har i avsikt att låta mig använda en av deras MySQL-servrar, på den fronten står jag ganska lugnt med andra ord. Allt ska på kvitto, det är bara vägen till ett kvitto som ska skötas lagligt och utan brott mot någon licens.

Jag ska se över företag, men jag har bekantskap med chefen och ska se om han kan hjälpa mig där. Men problemet kvarstår, licensen till MySQLs connector kan inte användas om mitt program publiceras under fel licens..

Visa signatur

Citera om du vill ha svar, hjälpte jag dig, gilla svaret!
Felkod40

Permalänk
Medlem
Skrivet av freddyfresh:

All kod har lagrats på min privata dator, men sant, jag har dubbelkollat mappar jag lagrar i och ingen källkod eller kod är lagrad.

Du har bra punkter. Företaget har i avsikt att låta mig använda en av deras MySQL-servrar, på den fronten står jag ganska lugnt med andra ord. Allt ska på kvitto, det är bara vägen till ett kvitto som ska skötas lagligt och utan brott mot någon licens.

Jag ska se över företag, men jag har bekantskap med chefen och ska se om han kan hjälpa mig där. Men problemet kvarstår, licensen till MySQLs connector kan inte användas om mitt program publiceras under fel licens..

Som sagt, håll hårt i din godisbit, annars blir den tagen av någon annan.
Det du kan tänka på, är att få fram ett system som t.ex AVG, Microsoft, och andra kör med.
Att varje exemplar måste aktiveras med en unik bokstav/sifferkod, som enbart du har tillgång till och kan ge ut.
För annars kan vem som helst lägga ut det på webben, sen när väl företaget använder programmet och då är det piratat för all framtid.
Licenssystemet motverkar detta.
/Lifooz

Visa signatur

Deepcool Matrexx 30 & MSI Z87-G43 Gaming!
Intel Inside Core I7 4790K med AMD Radeon R9 390!
Rubbet strömförsörjs av Corsair RM750X!

Permalänk
Medlem
Skrivet av freddyfresh:

Hej,
jag har utvecklat ett program åt ett av de större företagen i världen. Företaget ska gå onämnt för stunden och är inte relevant i frågeställningen. Programmet är ett schemaprogram. Du kan skapa scheman, inlägg { allt mellan lägga till och ta bort }, hantera användare { krypterade personuppgifter }, statistik utifrån insamlad data från nämnd hantering, koppla upp schemat till internet och även göra såklart, lite mer grejer.

Bakgrundsinfo:

Jag har utvecklat det då budgeten för min avdelning inte är tillräcklig hög för att hyra in dyrare mjukvara.

Vad jag är mest intresserad av att veta är att det här programmet ska börja användas på den arbetsplats där jag är anställd. Företaget kommer använda det till sina drygt 14 anställda på min avdelning först. Men innan det vill jag veta mina möjligheter.

Jag avser att sälja licenser till mitt program. En antingen engångslicens som ger åtkomsten att använda mitt program eller också sälja det helt.

Men jag vet inte med vilken licens den ska publiceras. Just nu ägs allt utom en grej av mig, det är just MySQL's C# connector som är publiceras under GPL.

Vilka möjligheter har jag i den här situationen då enligt min vetskap ska program som använder GPL inte vara proprietära?
Programmet kommer användas till flera olika företag som jobbar under samma tak, men då vill jag såklart att det ska vara tillåtet att använda det på arbetsplatsen.

Programmet är egentligen klart för att packas och skickas, allt är kontrollerat, allt funkar (just nu). Men, sista problemet.

Svar på frågor jag kan tänka mig som kommer upp:

  • Servern är hos mig, möjligt att flytta över till företaget senare

  • All kod är utvecklad av mig, inkluderat grafiken

  • Inga externa bibliotek förutom MySQL's tidigarenämnda

  • Jag frågar eftersom jag är dålig på att läsa mig in i licenser och deras omfattning

  • Utvecklat i C#, använder MySQL för lagring

Vad bör jag göra?

Vad jag kan se så är det inte tillåtet att inkludera gpl-licensierade saker i sitt program och sedan sälja det.
Använder du gpl-licensierade delar så ska ditt program gå under gpl.

Visa signatur

/M

Permalänk
Medlem
Skrivet av Lifooz:

Som sagt, håll hårt i din godisbit, annars blir den tagen av någon annan.
Det du kan tänka på, är att få fram ett system som t.ex AVG, Microsoft, och andra kör med.
Att varje exemplar måste aktiveras med en unik bokstav/sifferkod, som enbart du har tillgång till och kan ge ut.
För annars kan vem som helst lägga ut det på webben, sen när väl företaget använder programmet och då är det piratat för all framtid.
Licenssystemet motverkar detta.
/Lifooz

Hur funkar det under en GPL-licens ? Får lov att anta att den anses inte vara "fri" längre isåfall. Men det finns redan en sån funktion i programmet.

Skrivet av Marowak:

Vad jag kan se så är det inte tillåtet att inkludera gpl-licensierade saker i sitt program och sedan sälja det.
Använder du gpl-licensierade delar så ska ditt program gå under gpl.

Tror det är fotnoten av GPL-licensens avtal.

Visa signatur

Citera om du vill ha svar, hjälpte jag dig, gilla svaret!
Felkod40

Permalänk
Medlem

Du måste nog byta ut den där databasconnectorn. Annars måste du open sourcea hela ditt program under GPL och därmed göra det gratis för hela världen

Visa signatur

Core i7 7700K | Titan X (Pascal) | MSI 270I Gaming Pro Carbon | 32 GiB Corsair Vengeance LPX @3000MHz | Samsung 960 EVO 1TB

Permalänk
Medlem
Skrivet av Nioreh83:

Du måste nog byta ut den där databasconnectorn. Annars måste du open sourcea hela ditt program under GPL och därmed göra det gratis för hela världen

Precis. Tack, här börjar vi ta steg i rätt riktning, men isåfall mot vad? Kollat på Mongo, jag kan PostGres men som mest van vid My

Visa signatur

Citera om du vill ha svar, hjälpte jag dig, gilla svaret!
Felkod40

Permalänk
Medlem
Skrivet av Marowak:

Vad jag kan se så är det inte tillåtet att inkludera gpl-licensierade saker i sitt program och sedan sälja det.
Använder du gpl-licensierade delar så ska ditt program gå under gpl.

Det är absolut tillåtet att sälja; MEN då ska källkoden finnas tillgänglig mot begäran. GPL innebär inte att den ska vara gratis.

Ett sätt att gå runt det hela är att du i din C#-connector har ett "öppet" interface (över TCP/IP exvis) - så släpper du bara den biten som GPL.

Ditt program som bara "pratar öppet" med din GPL-pryl över ett annat media är då INTE GPL-pliktigt, om jag fattat rätt.

Visa signatur

Jag är en optimist; det är aldrig så dåligt så att det inte kan bli sämre.

Permalänk
Medlem
Skrivet av Nioreh83:

Du måste nog byta ut den där databasconnectorn. Annars måste du open sourcea hela ditt program under GPL och därmed göra det gratis för hela världen

Skrivet av freddyfresh:

Precis. Tack, här börjar vi ta steg i rätt riktning, men isåfall mot vad? Kollat på Mongo, jag kan PostGres men som mest van vid My

Än en gång, programmet blir inte gratis bara för att det är GPL-licensierat: http://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney

Visa signatur

Jag är en optimist; det är aldrig så dåligt så att det inte kan bli sämre.

Permalänk
Medlem
Skrivet av zyberzero:

Än en gång, programmet blir inte gratis bara för att det är GPL-licensierat: http://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney

Hur funkar det med :
Does the GPL allow me to require that anyone who receives the software must pay me a fee and/or notify me? (#DoesTheGPLAllowRequireFee)
No. In fact, a requirement like that would make the program non-free. If people have to pay when they get a copy of a program, or if they have to notify anyone in particular, then the program is not free. See the definition of free software.

The GPL is a free software license, and therefore it permits people to use and even redistribute the software without being required to pay anyone a fee for doing so.

You can charge people a fee to get a copy from you. You can't require people to pay you when they get a copy from someone else.

Så som jag förstår det kan jag publicera den under GPL, ta en leveransavgift för projektet på en summa och sen låta dem ha det?
Då får jag pengar till mer godis @Lifooz och jag undviker licenstvisten mellan kommunikationsmetoden och programvaran?

Missförstått kanske?

Tänkte främst på:

Does the GPL allow me to charge a fee for downloading the program from my distribution site?
Yes. You can charge any fee you wish for distributing a copy of the program. If you distribute binaries by download, you must provide “equivalent access” to download the source—therefore, the fee to download source may not be greater than the fee to download the binary.

Men det kollapsar på sig själv.

Visa signatur

Citera om du vill ha svar, hjälpte jag dig, gilla svaret!
Felkod40

Permalänk
Medlem
Skrivet av zyberzero:

Än en gång, programmet blir inte gratis bara för att det är GPL-licensierat: http://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney

Jo, men man får sälja kopior om man vill. Dock så måste hela programmet finnas gratis och med öppen källkod för de som inte vill betala för din distribution.

Visa signatur

Core i7 7700K | Titan X (Pascal) | MSI 270I Gaming Pro Carbon | 32 GiB Corsair Vengeance LPX @3000MHz | Samsung 960 EVO 1TB

Permalänk
Medlem
Skrivet av Nioreh83:

Jo, men man får sälja kopior om man vill. Dock så måste hela programmet finnas gratis och med öppen källkod för de som inte vill betala för din distribution.

Det där är mer eller mindre exakt tvärtemot hur jag vill ha det.

Hur vore det om jag GPL-licenseriar delen av programmet som faktiskt behöver SQL-biten? Vilket är en klass, eller i slutändan en dll?
Och hur vore det om jag själv inte bifogar en MySQL-connector? Utan dem själva måste ladda ner den? Då har jag inte bifogat något?

Frågan är om jag tänkt för mycket på detta... Dem har ju egna MySQL-servrar och licenser...

PostGres går oavsett över deras PostGres-licens...

Best of all, PostgreSQL's source code is available under a liberal open source license: the PostgreSQL License. This license gives you the freedom to use, modify and distribute PostgreSQL in any form you like, open or closed source. Any modifications, enhancements, or changes you make are yours to do with as you please. As such, PostgreSQL is not only a powerful database system capable of running the enterprise, it is a development platform upon which to develop in-house, web, or commercial software products that require a capable RDBMS.

Borde funka bra med Npgsql som är licenseriad under samma licens (http://www.npgsql.org/about.html)

Visa signatur

Citera om du vill ha svar, hjälpte jag dig, gilla svaret!
Felkod40

Permalänk
Medlem

Mm, det är en snårskog och ingen som är riktigt 100 på vad som gäller. Vill man vara på den säkra sidan så skulle jag inte röra någon GPL-kod

Visa signatur

Core i7 7700K | Titan X (Pascal) | MSI 270I Gaming Pro Carbon | 32 GiB Corsair Vengeance LPX @3000MHz | Samsung 960 EVO 1TB

Permalänk
Medlem
Skrivet av Nioreh83:

Jo, men man får sälja kopior om man vill. Dock så måste hela programmet finnas gratis och med öppen källkod för de som inte vill betala för din distribution.

Det finns en väg runt det, om det är i separata delar. Du måste då bara dela med dig av den delen som direkt rör GPL, men den och kvarvarande del måste båda ha ett funktionellt syfte i övrigt. Det vill säga du kan länka saker men ditt program får inte vara beroende av just den delen för att fungera, då anses det att du byggt på den.

GPL linking

Citat:

However, in many cases you can distribute the GPL-covered software alongside your proprietary system. To do this validly, you must make sure that the free and non-free programs communicate at arms length, that they are not combined in a way that would make them effectively a single program.

The difference between this and “incorporating” the GPL-covered software is partly a matter of substance and partly form. The substantive part is this: if the two programs are combined so that they become effectively two parts of one program, then you can't treat them as two separate programs. So the GPL has to cover the whole thing.

If the two programs remain well separated, like the compiler and the kernel, or like an editor and a shell, then you can treat them as two separate programs—but you have to do it properly. The issue is simply one of form: how you describe what you are doing. Why do we care about this? Because we want to make sure the users clearly understand the free status of the GPL-covered software in the collection.

Om du kan skriva ett MySQL program som skulle kunna bytas ut mot någon annan black box variant så kan du hävda att det är separata delar, problemet med GPL allmänt är att den är skriven på ett sätt som inte helt tar in och täcker allt så det kan bli tjafs iaf.
Det bästa vore att hitta alternativ typ under LGPL som tillåter just dynamisk länkning utan tjafs eller skriva något eget.

Visa signatur

"One is always considered mad, when one discovers something that others cannot grasp."
- Ed Wood

Permalänk
Medlem
Skrivet av freddyfresh:

Hur vore det om jag GPL-licenseriar delen av programmet som faktiskt behöver SQL-biten? Vilket är en klass, eller i slutändan en dll?
Och hur vore det om jag själv inte bifogar en MySQL-connector? Utan dem själva måste ladda ner den? Då har jag inte bifogat något?

Frågan är om jag tänkt för mycket på detta... Dem har ju egna MySQL-servrar och licenser...

Nej, jag tror att det är klokt att du tänker över det här. Även om hur licensen skulle toklas av domstol är omtvistat så är det tydligt att FSFs avsikt var att förbjuda din tilltänkta användning. Eftersom Oracle nämner att kommersiella licenser finns tillgängliga (vilket skulle kunna vara ett alternativ för dig om villkoren är rimliga), tror jag de delar FSFs tolkning, och vill ha del av kakan om man säljer något som använder Connector/Net.

Att knoppa av en dll-fil hjälper dig inte, då GPL "smittar av sig" på din dll-fil. Du hamnar i samma situation som nu, med ett GPL-licensierat, dynamiskt länkat bibliotek.

Jag ser dock en annan möjlighet som borde innebära minimal möda och lagligt trubbel, att använda ODBC som mellanlager. Då borde din användning av Connector/ODBC vara en deployment-detalj (sålänge du inte distribuerar det tillsammans med ditt program), eftersom ditt program blir helt oberoende från det, och fungerar med vilken databas som helst (som förstår din SQL) med endast en ändring av connection-sträng i nån konfig-fil.

Märk väl att att jag inte är någon advokat, och mina råd bör tas med redliga mängder salt.

Edit: Det verkar i själva verket som om MariaDB Connector/ODBC är MySQL-kompatibel och LGPL-licensierad, om du inte är övertygad om att löskopplingen via ODBC är nog skydd. Dock verkar det som om de har dumpat Unix-stödet, de listar Windows som enda stödd plattform.

Lade till MariaDB-not, fixade syftningsfel