Was Xamarin's action and the way the action was done ethical or not?
Bene, chiediamo a un esperto - l'elenco Open Source della licenza MIT stesso, con la licenza citata nella sua interezza :
The MIT License (MIT)
Copyright (c)
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Se qualcuno - individuo o azienda - rilascia software / codice sorgente con una licenza MIT, significa che chiunque altro - individuo o azienda può "trattare il Software senza restrizioni". Finché l'avviso sul copyright rimane intatto, sono praticamente in grado di fare ciò che vogliono.
Questo è uno di quei casi in cui etica e legalità sono praticamente la stessa cosa. Se una persona o un gruppo non capivano la licenza o le sue implicazioni, allora non riuscivano a fare la dovuta diligenza. L'Open Source Initiative offre molte altre risorse utili per aiutarci a capire le licenze come la variante del MIT. Diamo un'occhiata ad alcune clausole della loro definizione Open Source:
1) Free Redistribution - The license shall not restrict any party from selling or giving away the software as a component of an aggregate
software distribution containing programs from several different
sources. The license shall not require a royalty or other fee for such
sale.
3) Derived Works - The license must allow modifications and derived works, and must allow them to be distributed under the same terms as
the license of the original software.
5) No Discrimination Against Persons or Groups - The license must not discriminate against any person or group of persons.
6) No Discrimination Against Fields of Endeavor - The license must not restrict anyone from making use of the program in a specific field of
endeavor. For example, it may not restrict the program from being used
in a business, or from being used for genetic research.
Alla mia lettura questo sembra tutto molto chiaro: pubblicare qualcosa come open source, specialmente con la licenza MIT, permette a qualcuno di prendere liberamente il software, cambiarlo, impacchettarlo e venderlo praticamente a chiunque piaccia, purché non rimuovono la tua nota sul copyright e pretendono che sia il proprio solo lavoro.
Come autore, stai esplicitamente rinunciando al diritto di essere pignolo e schizzinoso. Non puoi decidere chi o cosa può trarre beneficio dal tuo software o farne uso, e non puoi decidere perché lo stanno usando. Hai espressamente rinunciato a questo diritto.
L'idea è che tu stia contribuendo al bene superiore rinunciando esplicitamente a qualsiasi diritto legale che devi controllare e limitare l'uso e il cambiamento di ciò che hai fatto. Se Microsoft vuole biforcare il tuo progetto FluffBall e venderlo a $ 2k per posto come WindowsSpongeCake, può farlo. In primo luogo, non lasciare che le persone facciano tutto ciò che vogliono per l'intero punto del tuo progetto?
Is it possible to avoid such a situation if you are a single developer or a small unfunded group of developers?
Tipo di! Innanzitutto, utilizza una licenza appropriata per te e per gli obiettivi e i desideri della tua organizzazione. Se non vuoi che qualcuno lo usi in un modo che non approvi, probabilmente non dovresti rilasciarlo come Open Source - e francamente forse non dovresti rilasciarlo affatto! Se non vuoi che qualcuno usi un lavoro derivato (come una fork) su un progetto commerciale, dovresti probabilmente optare per una versione copyleft di la GPL . Se si desidera una licenza non commerciale, è consigliabile rivolgersi a un avvocato specializzato in diritto d'autore / licenza, poiché spesso non è considerato software "open source" e non esiste alcuna licenza pre-scritta per supportare questo caso.
Il problema con il kerfuffle di Xamarin e Coco non è una questione di etica o legalità - si tratta di una lotta su Internet tra alcune persone che hanno una carne tra loro. Siamo tutti umani, succede. Sembra essere il risultato di non essere in grado di collaborare / cooperare, probabilmente a causa di un conflitto di personalità o di visioni incompatibili su come il progetto dovrebbe essere gestito.
Quindi l'altro modo di difesa è aperto alla collaborazione e al cambiamento, ma comprendi che se non funziona e le visioni divergono ... beh, questo è il motivo dell'opzione di fork e avere il tuo progetto separato.
È molto umano e comprensibile per i sentimenti di proprietà e popolarità per rendere i progetti software molto, molto complicati. Ma l'obiettivo dell'open source è cercare di trascenderlo e consentire al miglior software di essere disponibile gratuitamente a tutti.
In conclusione, chiarisci i tuoi obiettivi quando decidi una licenza e comprendi le implicazioni per il tuo futuro controllo e direzione del progetto. Se vuoi solo donare al bene più grande, l'open source è la strada da percorrere. Se vuoi controllare il tuo progetto più strettamente e avere la proprietà e almeno un caso legale se qualcuno cerca di commercializzare il tuo progetto o assorbirlo nel proprio (in tutto o in parte), avrai bisogno di una licenza diversa e probabilmente avrai bisogno di sistemalo con un avvocato.