2009-06-04 13 views
5

Recentemente ho iniziato a imparare le tecnologie open source e molto presto sono diventato frustrato perché ci sono migliaia di tecnologie e strumenti (ognuno con i propri pro e contro) . Mi chiedo se l'approccio di Windows di "All in One" sia effettivamente migliore.perché ci sono così tanti strumenti/tecnologie per fare lo stesso compito nella comunità open source

+0

So che ci sono diversi problemi di licenza, ma comunque rende difficile per gli utenti. –

+0

Dopo aver visto tutti i post mi rendo conto che il problema non è con l'idea stessa di FOSS .. Penso che sia una meravigliosa idea. altrimenti avremmo un monopolio. Ma dobbiamo standardizzare le cose. Può essere un sistema di classificazione in cui diversi strumenti/tecnologie sono classificati e confrontati su diversi aspetti come stabilità, sviluppo attivo, bug ecc ... ci sono alcuni siti ma nessun posto centrale. Penso che sarebbe una grande idea. –

risposta

5

Penso che un grande motivo per questo sia perché le persone vogliono apportare miglioramenti a qualcosa che ha avuto l'idea giusta, ma non è stata applicata bene (o come volevano che fosse).

Alcuni software sono anche una scelta popolare per i progetti tra studenti universitari/universitari per le finali che finiscono per continuare lo sviluppo in seguito. Non sempre è possibile trovare qualcosa di utile e abbastanza facile per un progetto che non è mai stato fatto prima.

0

Entrambi hanno i loro vantaggi. Quale preferisci usare regolarmente è puramente una questione di ciò che funziona per te.

2

Penso che la ragione principale è che le persone tendono a soffrire della sindrome NIH (Non inventata qui). La maggior parte di noi ne soffre, ma in ambienti controllati siamo limitati a ciò che facciamo. Nel dominio FOSS le persone non hanno tali restrizioni.

Ci sono innumerevoli esempi in cui le persone hanno insistito a fare qualcosa di diverso anche quando è palesemente peggiore della soluzione esistente. Questa è in effetti una cosa piuttosto intrigante in FOSS dove dovremmo "rubare" l'uno dall'altro. Guarda KDE e Gnome, per esempio. Entrambi i campi sono determinati dall'aspetto diverso dall'accampamento, quindi a volte apportano modifiche che non funzionano proprio per differenziarsi.

Nella maggior parte dei casi sarebbe molto più semplice prendere una base di codice esistente e apportare le modifiche lì, ma c'è una certa soddisfazione nel sapere che avete fatto l'intero sistema da soli. Ma c'è un lato positivo ed è che ottieni molte più idee nuove quando le persone iniziano da una lavagna pulita.

2

Anche in Windows ci sono molti strumenti diversi per lo stesso compito. Basta guardare la pletora di editor e IDE disponibili.

Il motivo per cui l'open source ha così tanto ha molto a che fare con il modello open source stesso. Se non mi piace il modo in cui hai implementato qualcosa nel tuo software open source, posso espandermi. Ogni volta che ramo, creo una nuova versione del software. Github lo porta ad un nuovo livello incoraggiando gli sviluppatori a ramificarsi. A volte la speranza è che il software ramificato abbia innovazioni che possono essere integrate nel software originale. A volte capita che il software ramificato abbia una vita propria.

0

Dato che non si specifica esattamente il tipo di programmi, credo che si parli di strumenti di sviluppo software.

In primo luogo, vorrei sottolineare che su Windows there are molti programmi che il same thing troppo.

In secondo luogo, non viviamo nel mondo ideale e lo strumento A è buono per alcuni casi, ma non funziona bene per altri casi, lo strumento B è ideale per i casi in cui lo strumento A non è adatto e lo strumento C richiede di investire tempo nel coinvolgere internals di altri strumenti, librerie, soure code eccetera, ma gestisce quasi tutti i casi molto meglio degli strumenti A o B.

Come strumento sviluppatore/contributore punto di vista, se non mi piace come il mio progetto preferito è in fase di sviluppo e ho qualcosa da contribuire (come una correzione di bug) ma il responsabile del progetto rifiuta per qualsiasi motivo (for example 'give me money'), posso sborsare il progetto e fare quello che ho voglio me stessoAlla fine, se i miei contributi sono utili per molte persone, il mio progetto sarà probabilmente utile rispetto a quello originale.

10

Perché ci sono così tante aziende che producono automobili, pane e tavoli? Non sarebbe più produttivo consolidarli in una singolare mega-macchina, mega-pane e omnibus?

+0

+1 perché presumo tu stia giocando a Devil's Advocate. – dsimcha

1

Tutto inizia con un "prurito". Quando le persone non trovano "esattamente" ciò che vogliono, iniziano a scrivere le proprie. Anche se le differenze sono minori. Anche la sindrome NIH (Non inventata qui) ha un ruolo.

Ma dato il tempo sufficiente, i buoni spiccano. Tomcat emerge come leader per il servlet container, Apache per il webserver, Eclipse per IDE, MySQL per database e così via.

L'open source è tutto incentrato sulla libertà. Dovremo sopportare questo problema di abbondanza.

2

Mi chiedo se l'approccio di Windows di "All in One" sia effettivamente migliore.

Hmm, forse le persone continuerebbero a utilizzare la fonte visiva come il "solo e unico" sistema di controllo del codice sorgente.

No, grazie.

1

Dal mio punto di vista è una parte importante dell'evoluzione nell'ecosistema open source.

Le persone tendono ad avviare i propri progetti se non gli piace come qualcuno stia facendo un progetto simile in termini di codice/linguaggio di programmazione/direzione del progetto/focus. Quando lo fanno bene, il progetto crescerà fino a quando non sostituirà il suo predecessore. Se non funziona bene, non "vivrà" a lungo o continuerà a essere un piccolo progetto di hobby con solo pochi utenti.

Questa è l'evoluzione.

E come hanno affermato altre persone, su Windows sono anche soluzioni duplicate, come IDE, suite di Office, programmi ERP e persino giochi.

La scelta che un utente deve fare può essere difficile per gli utenti non istruiti, ma è per questo che ci sono riviste per PC o solo professionisti, che (pensa a) sanno quale software è buono per quale scopo.

0

Sia nel mondo open source che nel mondo non libero, decine o centinaia o migliaia di persone o gruppi iniziano a lavorare su qualche problema. Molti di loro devono arrendersi presto. Nel mondo del software commerciale, semplicemente scompaiono, lasciando quasi una traccia. Nel mondo open source, sono solo un altro progetto abbandonato su sourceforge.

Per molte attività, solo pochissime soluzioni sopravvivono. In alcuni casi, più di una soluzione sopravvive, ma solo perché ogni soluzione offre qualcosa che mancano di altre soluzioni. Ovviamente, gli obiettivi conflittuali (ad esempio l'utilizzo delle risorse rispetto a eyecandy) rendono più probabile l'esistenza di soluzioni diverse, in cui ogni soluzione enfatizza un obiettivo.

0

Esistono molti strumenti, perché le persone creano soluzioni e approvazioni diverse. Ma poi di nuovo, sto usando solo SubVersion per il controllo della versione e non sto andando da nessun'altra parte finora. Ci sono molti strumenti, ma non ne hai bisogno tutti. Ciò che è necessario è una buona categorizzazione degli strumenti in base a tipo, caratteristiche, usabilità, popolarità, supporto, continuità, ciò che funziona con cosa e così via. Quindi scegli ciò di cui hai bisogno. Sono d'accordo che c'è del lavoro da fare nel mondo open source, ma per esempio SubVersion è abbastanza facile da installare e utilizzare.

Sure Windows world è un'alternativa all'open source. Ma non è necessariamente meglio, se un componente di cui hai bisogno è in realtà open source, vuoi andare in un mondo aperto, vuoi risparmiare in costi di licenza o simili.

4

A) La ridondanza non è un fenomeno FOSS esclusivo. Persino i monopoli hanno i loro (meno noti) concorrenti - mentre quasi tutti usano Adobe Photoshop per la grafica raster, alcuni usano ancora programmi simili di Jasc, Corel o altri.

B) Fare la stessa cosa non significa che lo stiano facendo nello stesso modo. Anche se due programmi sembrano quasi identici, di solito differiscono per funzionalità, interfaccia o paradigma. Unire "il meglio dei due mondi" spesso si traduce in incubi di usabilità e comportamenti incoerenti.

C) Il modo più semplice per imparare come funziona qualcosa è farlo da solo. Niente ti insegna tanto sul modo in cui una determinata API o lingua funziona come software di scrittura. Spesso questi programmi giocattolo finiscono per diventare utili in un modo o nell'altro e alcuni di essi alla fine trovano un uso diffuso o vengono rilevati da un programmatore esperto che trova potenziale.

D) Se i programmatori migrano, il software deve anche. A volte si impara una nuova lingua o si stabilisce una migliore solo per scoprire la propria API preferita o l'applicazione non la supporta. Portarli al tuo nuovo linguaggio di scelta spesso porta a ulteriori cambiamenti rendendoli unici e distinti dagli originali. In alcuni casi verranno riportati nella loro lingua originale e il risultato ricorda un gioco di telefono FOSS.

E) Ognuno ha un parere. Non tutte le richieste di funzionalità risultano in una funzione e non tutti i programmi sono in grado di eseguire l'operazione specifica. Inoltre, alcune persone desiderano solo la perfezione. La cosa bella della programmazione e del FOSS in particolare è che se pensi di poterlo fare meglio, puoi davvero andare avanti e provare. Nessun DMCA per fermarti.

Se vuoi, puoi considerarlo un processo evolutivo, sì. Alcuni programmi e API trovano le loro nicchie, alcuni diventano stupidamente popolari e alcuni semplicemente indugiano nell'oscurità o vengono mangiati dal temuto 404. Ma finché ci sono ancora alcune tracce sul web, qualcuno potrebbe ancora andare avanti e riprenderlo e respira vita in esso - questo è ciò che distingue FOSS da non-FOSS. La morte non è un vicolo cieco.

0

Fondamentalmente, è una combinazione di NIH Syndrome e una comprensione dell'Open Source come strumento di apprendimento piuttosto che un metodo utilizzato per creare un prodotto.

Non penso che NIH sia necessariamente negativo nell'Open Source, soprattutto perché una percentuale molto alta di progetti Open Source non riesce mai a uscire dallo stadio "hobby".

0

Ho costruito sistemi complessi su entrambi i lati della recinzione, sia FOSS che su piattaforme Windows. Anche se adoro la libertà e la flessibilità dei sistemi basati su Linux (prendere decisioni architetturali basate sui costi della licenza invece di quello che ti serve veramente), posso dire con assoluta certezza che ottengo più risultati con meno persone su Windows.

Con FOSS, se si dispone di un sistema complesso e per assumere un nuovo programmatore, in genere bisogno di settimane per girare la persona su tutti i vari pezzi del puzzle - lingue, compilatori, attrezzi, ecc

Ogni Il programmatore di Windows che ho assunto negli ultimi anni ha eseguito il check-in del codice entro un giorno dall'inizio, a volte entro poche ore.Questo è il vantaggio di una piattaforma omogenea. Mi è garantito avere qualcuno che già conosca il nostro intero stack.

Devi davvero fare un'analisi costi-benefici del FOSS, per vedere se davvero stai risparmiando. Se riesci a cavartela con una persona in meno, nel corso di un anno, quanto costa uno sviluppatore rispetto ai costi della tua licenza?

Problemi correlati