Come licenziare/copyright il mio prodotto software che è in sviluppo

Si chiede "Come posso licenziare/brevettare/includere il copyright sul mio prodotto" forse è necessario capire cosa significano queste parole. Sono diverse l'una dall'altra. Il copyright è il diritto che hai di copiare il tuo codice (e la protezione che ottieni da qualcuno che lo copia senza permesso). Licenza è il modo in cui date il permesso alle persone di usare la vostra proprietà. E il brevetto è una protezione speciale che un governo ti concede se hai registrato un'invenzione e rivelato come funziona.

Quando scrivi del codice, dovresti mettere una dichiarazione di copyright nell'intestazione del codice. Se possiedi il tuo codice, dovrebbe dire "Copyright (c) [INSERIRE ANNO], Kamrul Hassan. Tutti i diritti riservati". Se sei impiegato come sviluppatore in un'azienda che possiede la tua IP, allora metti il nome della tua azienda invece del tuo -- poiché è il loro copyright.

Questa dichiarazione afferma che tu sei il detentore del copyright -- significa che hai il diritto di copiare il codice. Nessun altro ha il diritto di intrufolarsi nel vostro computer e prendere il vostro codice.

In qualsiasi momento, voi come detentori del copyright potete scegliere una licenza per il vostro codice. Se vuoi dare alle persone il permesso di usare il tuo codice gratuitamente, di modificarlo e ridistribuirlo, ecc. puoi mettere una licenza Open Source sul codice (ad esempio aggiungere il testo "Copyrights licensed under the [nome della licenza] License. Vedere il file LICENSE di accompagnamento per i termini." subito dopo la dichiarazione di copyright, e poi aggiungere un file LICENSE al progetto con la licenza che state usando (ad esempio MIT, BSD, LGPL, Apache, ecc.) O se questo è un programma di un solo file, potete semplicemente aggiungere il testo della licenza nel blocco di intestazione del codice e tenere questo come un unico file.

Se invece volete vendere licenze al codice -- allora non aggiungete una licenza open source. Trovate semplicemente qualcuno che compri una licenza per il codice. Dovrete lavorare con un avvocato per assicurarvi che il testo della licenza sia quello che volete che dica. Il vostro codice non deve essere completo per poterlo vendere. Infatti, non credo di aver mai visto codice commerciale che sia "completo".

La brevettazione è una questione completamente separata. Non si brevetta il codice, si brevetta un'invenzione. Il vostro codice potrebbe implementare quell'invenzione o "leggere il brevetto", dovete prima convincere qualcuno che avete inventato qualcosa di nuovo e non ovvio. I sistemi di gestione scolastica sembrano una combinazione abbastanza ovvia di un database e alcune buone schermate UI. A meno che non abbiate implementato qualche speciale algoritmo di ottimizzazione che risolve qualche problema che non è mai stato fatto, probabilmente non avrete un brevetto da depositare.