Quali flag di avviso devo cercare quando si seleziona un software open source? [chiuso]


13

Quando si confrontano progetti open source con software commerciali o anche altri progetti open source, quali situazioni sollevano una bandiera rossa e ti fanno premere il pulsante di espulsione e guardare altrove?

Risposte:


17

Open Source

Guarda il sito web del progetto

  • Guarda la documentazione
  • Guarda gli archivi della mailing list
  • Guarda SCM (svn, git, hg, ecc.)

Nel fare ciò, raccogli i seguenti punti ...

  • Quanto è maturo il software
  • Qual è la dimensione della base di utenti (molte persone? 3 persone?)
  • Chi sono le persone nella base di utenti (aziendale, utente domestico, piccola impresa, ecc.)
  • Lo sviluppo è attivo? Da quanto tempo è attivo?
  • Gli archivi della mailing list trapelano anche molte informazioni sullo "spirito di squadra" tra gli sviluppatori, tra le altre cose. Sembra sano, ostile, annoiato, ecc?
  • La documentazione è decente?
  • Il pacchetto / progetto è stato accettato in alcune distribuzioni come Fedora, Debian, RHEL, SLES, Ubuntu ecc? Se è così - è una buona cosa - almeno più di un'altra persona là fuori ha fiducia nel progetto.
  • Il sito ha un sistema di biglietteria adeguato? In tal caso - Quanti biglietti sono aperti da 5 anni fa? Questa è un'altra indicazione di quanto "live" sia il progetto.

Inoltre, assicurarsi di prendere nota della Licenza in base alla quale il software è distribuito. Alcuni potrebbero non essere adatti alle tue esigenze.

Software aziendale

Non ho molto da dire qui oltre a ...

  • Assicurati (non chiedere al venditore - mentirà) che l' applicazione non funziona comeroot . Specialmente se sta per essere ascoltato su una porta TCP / IP. * Guardando la reputazione del venditore
  • Assicurati che i venditori siano consapevoli del fatto che le persone che amministrano questo prodotto (cioè non avranno rootaccesso, e quindi il prodotto deve supportare sudo . Chiunque sostenga che sudonon sia supportato è generalmente solo senile, ma sono i venditori, e lo faranno essere quelli che devono supportarti - non vuoi comprare il prodotto e in seguito ti diranno "No, non puoi usare sudo, devi su su root".
  • Mai e poi mai l'acquisto di alcun software di sicurezza a sorgente chiuso - mai
  • (soggettivo): ... e non fidarsi mai di ciò che dice un rappresentante di vendita: sono tutti bugiardi e serpenti, senza eccezioni.

Come si determina la maturità di un programma? Non è come se i numeri di versione significassero qualcosa, e molti progetti siedono a numeri di versione dispari per anni in largo uso. (Ti sto guardando NetworkManager). Quale sarebbe una bandiera rossa dell'immaturità?
jldugger,

Corretto, mentre è possibile che i numeri di versione abbiano un significato specifico per gli sviluppatori, questa è una cosa interna - il mondo esterno è semplicemente un'indicazione nella migliore delle ipotesi - che il software aziendale sembra provare a sfruttare con ridicoli salti di numeri di versione . Per avere un'idea della maturità, puoi guardare in alcuni punti, in particolare il sistema di ticketing - molti tick sono una buona cosa - specialmente se vedi che gli sviluppatori hanno fatto un vero sforzo per risolverli e chiuderli. D'altra parte se non hai i biglietti, o peggio, nessun sistema di biglietteria, beh non è un buon inizio.
Serse

7
  • Mancanza di attività Se il progetto non ha rilasciato un nuovo codice, mostra un sacco di bug non chiusi (o bug molto vecchi con nessun nuovo bug) o forum di utenti con un rapporto spam-post molto elevato, è un odore sicuro di un base di codice in decomposizione. I progetti attivi hanno rilasci regolari, bug-churn che indica che i nuovi aperti non superano quelli vecchi chiusi e i forum degli utenti con attività quotidiane. Tutti e tre questi sono vitali per mantenere il codice in vita e ben - rilascio, feeback e debugging / refactoring, formando un ciclo completo.

  • L'attività è proporzionale alle dimensioni, alla complessità e alla maturità della base di codice. Maggiore è il programma / progetto, più rare sono le release di punti, ma dovrebbe esserci un flusso coerente di release di punti. Per un progetto come Samba, con una base di codice complessa di grandi dimensioni, aspettatevi rilasci puntuali dopo circa un mese. Per un progetto come gcc, che è una base di codice maturata con obiettivi di progettazione più conservativi, i rilasci puntuali sono più lunghi nel mezzo, ma più grandi. Anche gli obiettivi in ​​rapido movimento su quantità molto ridotte di codice mostrano potenziali problemi: è possibile che gli sviluppatori stiano ancora combattendo i bug o che non abbiano ancora tutti gli obiettivi / funzionalità codificati.

  • Il codice sorgente deve essere facilmente accessibile. Punto in bianco, se è vero open source, non dovrebbe esserci alcuna stretta di mano magica, offerte voodoo o incantesimi a lume di candela per vedere il codice sorgente. Non importa se è accessibile tramite CVS, SVN, Git, Mercurial o persino piccione vettore, a condizione che tu possa accedervi senza un accordo di licenza click-wrap. Se firmi una rinuncia, un accordo di non divulgazione o accetti qualche schema di licenza non sentito, non hai a che fare con l'open source, stai trattando con un fornitore commerciale che ha accettato di aprirti la loro fonte - a un prezzo .


++ per requisiti di attività.
sh-beta,

6

Ce ne sono molti, davvero.

Licenze ingannevoli - Troppe soluzioni stanno provando a nichelare e farmi morire. Il pacchetto costa X, ma se desideri opzioni pubblicizzate 1, 2 e 3, saranno $ 500-1500 in più per opzione. No grazie.

Nessuno lo usa - O almeno, Google non riesce a trovare nessuno che ne parli. O è nuovo di zecca (nel qual caso, sei un porcellino d'India) o così male che tutti lo sanno meglio

È la radice di diverse forcelle : se qualcosa è stato biforcuto più volte, probabilmente c'è una buona ragione per farlo, e una delle forcelle ha probabilmente risolto il problema meglio della fonte. Indaga su quelli invece.

Design dell'interfaccia costantemente errato : non intendo solo la GUI. Flag o opzioni CLI pazzi, non identificati o etichettati male mi fanno impazzire

Non funziona - o finge che una situazione che deve essere risolta non dovrebbe (o non) esistere, e quindi non la affronta


1

Vorrei anche aggiungere che il tasso di abbandono del codice è costante e fatto da molte persone, non solo da pochi. Non vuoi che una persona esca dal codice part-time quando si eccita per il suo progetto, poi si annoia e lascia che la comunità continui a supportare. Drupal e Joomla sono due buoni esempi.


1

Se stai cercando il software per la tua azienda, per venderlo, modificarlo, ecc. L'aspetto più importante è la licenza. Osservando l'inclusione di busybox sui router WLAN e seguendo le azioni legali, le aziende pensano che "open source = faccia quello che ti piace".

Alcune altre cose: sto anche cercando la data dell'ultimo aggiornamento e una comunità attiva, quindi forum, forse altre pagine che hanno il software come argomento.


1

Su Linux, vorrei controllare per vedere quale software è compresso dalla tua distribuzione. Il software in pacchetto non si limita solo a opensource / GPL: almeno Ubuntu, Gentoo e SLES includono software proprietario nei loro elenchi di pacchetti. Sebbene non vi sia alcuna garanzia che questi pacchetti funzionino in modo efficace come il software principale nella distribuzione, qualcuno ha investito tempo e sforzi per preparare un pacchetto.


1

Guarderei principalmente alla maturità e all'attività. Se sembra abbastanza maturo e sembra che ci sia una discreta quantità di attività (ad esempio forum o attività wiki), allora posso sentirmi abbastanza a mio agio. Quindi so che ci sono buone probabilità che i bug vengano risolti e che posso ottenere aiuto per risolvere i problemi. Sceglierei un progetto attivo che non corrisponda perfettamente alle mie esigenze, rispetto a un progetto che sembra una corrispondenza perfetta ma sembra morto, in qualsiasi giorno della settimana.

Quando si tratta di maturità, dipende praticamente dall'uso previsto. Se è qualcosa che devo implementare all'istante e che non può essere permesso di fallire o causare problemi, la maturità sarà ovviamente un fattore piuttosto importante. Se riesco a vivere con alcune stranezze e non è critico con alcuni tempi di inattività, allora preferirei guardare alle prospettive future.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.