Le principali differenze tra Open Source e Proprietario

Nello scenario attuale dell’informatica il software si divide in due grandi categorie:

  • Proprietario
  • Open Source

Il Software Proprietario è distribuito con contratti di licenza che prevedono un prezzo di acquisto o un canone periodico di utilizzo da pagare al produttore, secondo un modello commerciale classico in cui il produttore è l’unico soggetto che ha visibilità e possibilità di intervenire sul software per aggiornamenti, miglioramenti, ecc.

Le licenze del software Open Source (dall’inglese “sorgente aperto”) invece garantiscono la disponibilità del codice sorgente – e quindi la possibilità di intervenire – ad altri eventuali sviluppatori, indipendenti dall’autore del software stesso. In questo modo lo sviluppo, l’aggiornamento e il miglioramento del prodotto software open source sono il risultato del lavoro della comunità degli sviluppatori software.

I Vantaggi del Software Open Source

La modalità aperta di sviluppo che caratterizza l’Open Source permette così di raggiungere una complessità maggiore di quanto potrebbe ottenere un singolo gruppo di programmazione. Dal punto di vista del cliente il Software Open Source ha il grande vantaggio di non gravare sui costi di progetto non essendo previsto un pagamento per la licenza. Inoltre risultano alleggerite anche le spese relative ai servizi di supporto e di formazione, ai costi di migrazione, di installazione e di gestione.

La scelta di Atlanticmoon

Atlanticmoon opera sia con sistemi Open Source sia con sistemi proprietari (interni), in coerenza con un atteggiamento laico che, in generale, rifiuta i pregiudizi e punta sempre alla soddisfazione del cliente con i mezzi migliori possibili. Ciò detto, la scelta preferenziale delle tecnologie Open Source (o comunque quanto meno “proprietarie” possibile) è sempre stato un tratto caratterizzante delle nostre applicazioni. Ed è grazie a questa scelta che le applicazioni sviluppate da Atlanticmoon si sono dimostrate storicamente in grado di resistere al naturale “degrado” tecnologico e alla necessità di interfacciarsi con sempre nuove realtà in modo ottimale.

Per i progetti dei nostri clienti abbiamo sempre usato PHP perchè è uno strumento che conosciamo bene e che ci permette di fornire un ambiente facile da usare nel minor tempo possibile.

Alcuni anni fa ci siamo incamminati alla ricerca di uno strumento che ci permettesse di costruire soluzioni personalizzate per i nostri clienti. Abbiamo usato un approccio molto agnostico, cercando di non scartare nessun framework o linguaggio a priori. Naturalmente avevamo alcuni punti fermi: provenendo dal PHP avremmo preferito restare su questo linguaggio, e poi ci sarebbe piaciuto poter cominciare velocemente a costruire i nostri prototipi imparando (dagli inevitabili errori) strada facendo.

Parlando di framework, Ruby on Rails è stato il primo che ci è venuto in mente, colpiti dalla semplicità del linguaggio. Abbiamo poi approcciato Nodejs e lo stack Mean (MongoDB, Express, Angular, Nodejs) trovandolo molto interessante. Usavamo già npm (il gestore dei pacchetti di nodejs) per il frontend e naturalmente javascript era un linguaggio che conoscevamo  bene.

Qualcosa però ancora non quadrava, non riuscivamo ad essere produttivi come piaceva a noi e sembrava di saltellare su una gamba sola, noi invece volevamo correre!

L’occasione di provare Laravel è arrivata un po’ per caso, come spesso accade per gli eventi che si rivelano poi decisivi: il nostro progetto legato al FANTACALCIO: fantacalcio-online.com . Scartati Symfony per alcune insoddisfacenti esperienze passate e Yii per la curva di apprendimento più inclinata, la scelta è caduta su Laravel che proprio in quei giorni usciva con la versione 5.0 e prometteva grandi cose.

Ci siamo sentiti subito a casa: tutto era molto naturale e potevamo finalmente concentrarci sugli scopi dell’applicazione anziché utilizzare il tempo per reinventare la ruota continuamente!

Siamo approdati a Laravel per la semplicità, ma ci siamo rimasti per la comunità e per la cura dei dettagli.

È questo tipo di attenzione ai dettagli che ci ha conquistati, la continua ricerca di produrre codice elegante e che funziona!

La tecnologia adatta per ogni progetto

Continuiamo a sviluppare la maggior parte dei progetti in Laravel ma crediamo fortemente che non sia saggio e utile vincolarsi soltanto ad una tecnologia / stack per questo motivo continuiamo attivamente a sviluppare in nuovi framework / tecnologie perchè ogni progetto è unico e crediamo che non essere vincolati ad una sola soluzione tecnologia sia un nostro punto di forza.