Va bene per l'utente altre librerie open source quando costruisci il tuo o dovrebbe essere evitato?

0

Sembra una domanda strana, ma mi sono messo in discussione da solo da un po 'di tempo.
Mi è stato detto che, se stai lavorando su una libreria / progetto open source, dovresti evitare di aggiungere dipendenze per altre librerie esterne, open source, perché renderà il software, che usa le tue librerie, diventare più pesante con tutte le dipendenze, all'interno delle dipendenze, ecc ... Ma a volte sono un po 'fuori discussione. Devo davvero reinventare la ruota solo per tenere la mia biblioteca lontana dalle dipendenze esterne?
Ad esempio, sto creando un progetto Objective-C che sarà aperto su Github e ho bisogno di utilizzare un parser XML per ottenere dati da file XML - hai indovinato. L'OS X di Apple ha già un'API integrata per l'analisi di XML , ma non mi piace molto il modo in cui funziona, ha bisogno di un sacco di elaborazione in background e soluzioni alternative per ottenere i dati di cui ho veramente bisogno, quindi stavo pensando sull'utilizzo di un altro parser XML per fare un lavoro molto più pulito in termini di semplificarmi la vita, come lo sviluppatore, ma anche rendendo il codice molto più leggibile per altri sviluppatori.




Questo? Grazie.

    
posta Pedro Vieira 29.03.2014 - 00:34
fonte

2 risposte

3

Gli Xml Parser non sono qualcosa che dovresti costruire da soli, a meno che tu non voglia per scopi di apprendimento o per fare qualcosa di specifico per le tue esigenze. I parser XML sono abbastanza complicati che altre persone sanno già come scriverne uno migliore di quello che potremmo io (entro un ragionevole lasso di tempo).

Uno dei motivi per l'utilizzo di XML è che le librerie per leggere e scrivere sono prontamente disponibili. Quindi, nel caso dell'XML, direi di andare avanti e prendere la dipendenza. Lo scrittore di librerie ha già svolto il duro lavoro per te, e non ha senso passare settimane o mesi a scrivere qualcosa che è già disponibile.

    
risposta data 29.03.2014 - 00:45
fonte
1

L'intero punto dell'open source è che non deve reinventare la ruota.

Ma hai bisogno di capire le licenze delle librerie che usi. Includere solo una libreria non significa che devi usare la stessa licenza per il tuo progetto. Ma se si modifica il codice in una libreria, dovrebbe utilizzare una licenza compatibile.

Ad esempio, posso usare una libreria LGPL in un prodotto commerciale, a condizione che fornisca la LGPL e renda disponibile la fonte della libreria. Non ho bisogno di fornire la mia fonte. Ma se cambio quella libreria, dovrei rilasciare il mio codice sotto LGPL e fornire il mio codice.

    
risposta data 29.03.2014 - 01:01
fonte