SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Flash e software libero
                                             Stefano Sabatini




                                                                             GULCh
Cagliari, 2009-10-24   GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it

Stefano Sabatini, Flash e software libero                                            1
La tecnologia alla base di Flash
        ●   Un file flash / SWF (Small Web Format) è interpretato da una
            macchina virtuale Flash
        ●   I file swiff possono essere interpretati sia da un interprete
            standalone sia da un plugin inserito all'interno del browser.
        ●   Il linguaggio della VM è orientato alla renderizzazione di
            animazioni
        ●   Motore di rendering basato su grafica scalare
        ●   Il linguaggio solitamente utilizzato per la programmazione degli
            swf è un file Action Script (2 / 3), gli ambiente di sviluppo
            visuale generano automaticamente il codice (programmazione
            “visuale”).
        ●   Esistono vari formati del linguaggio della VM (swf 7 – swf 10).
        ●   L'esecuzione di uno swiff è soggetto a delle restrizioni di
            sicurezza
        ●   Con la tecnologia AIR (Adobe Integrate Realtime) è possibile
            utilizzare la stessa teconologia di sviluppo e renderizzazione per
            applicazioni desktop native (senza le limitazioni di sicurezza di
            Flash)

Cagliari, 2009-10-24   GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it

Stefano Sabatini, Flash e software libero                                        2
Ambiti di utilizzo di Flash
    ●   Presentazione di elementi multimediali all'interno di una
        pagina web (youtube / vimeo / facebook)
    ●   Inclusione di animazioni all'interno di servizi web
    ●   Inclusione di oggetti multimediali interattivi (e.g. giochi)
        all'interno di servizi web
    ●   Applicazioni Desktop (con AIR)




Cagliari, 2009-10-24   GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it

Stefano Sabatini, Flash e software libero                                    3
Diffusione di Flash
    ●   È stato stimato che il plugin Flash di Adobe si trova installato
        sul 99% dei computer usati per l'accesso al web, il 90% utilizza
        l'ultima versione (fonte: Wikipedia ;-))
    ●   È il formato dominante per la renderizzazione di contenuto
        multimediale interattivo sul web
    ●   Il plugin Flash (correntemente: alla versione 10) è disponibile
        per Windows, Mac, Linux; i browser integrati in Sony PS3, Sony
        PSP e Wii forniscono supporto a Flash




Cagliari, 2009-10-24   GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it

Stefano Sabatini, Flash e software libero                                    4
Alternative a Flash
    ●   Silverlight (MS) / MoonLight
    ●   HTML 5? (per quanto riguarda la presentazione di contenuto
        multimediale non interattivo)




Cagliari, 2009-10-24   GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it

Stefano Sabatini, Flash e software libero                                    5
Breve storia di Adobe
    ●   1982: viene fondata da John Warnock e Charles Geschke, ricercatori del laboratorio di Xerox a
        Palo Alto Research Center (PARC), per sviluppare e vendere il linguaggio di descrizione delle
        pagine PostScript (sviluppato a partire da Interpress).
         ●   Insieme a PostScript (poi PDF) sviluppo font proprietari Type 1 (presto in competizione con i
             font TrueType Apple -> Microsoft).
         ●   Altri prodotti sviluppati: Adobe Illustrator.
    ●   1985: Apple licenzia PostScript per l'uso per le use stampanti laser LaserWriter (tra le prime
        stampanti laser con un interprete PostScript incorporato): capacità di stampa di layout più
        complessi rispetto alle stampanti HP PCL -> maggior costo.

    ●   1989: rilascio di Adobe Photoshop 1.0, in breve domina il mercato.

    ●   2004: acquisisce la compagnia francese OKYZ S.A., sviluppatori di software di collaborazione 3D
        -> maggiori competenze nell'ambito delle teconologie 3D.

    ●   2005: acquisto della società rivale Macromedia per $3.4 billioni. Tra gli altri prodotti vengono
        aggiunti alla filiera: Adobe Director, Adobe Dreamweaver, Adobe Fireworks, Adobe Flash,
        Macromedia FlashPaper, Adobe Flex.




Cagliari, 2009-10-24     GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it

Stefano Sabatini, Flash e software libero                                                                    6
Standardizzazione di Flash
    ●   Flash nasce come tecnologia proprietaria.
    ●   Fino al 2008-05-01, la licenza d'uso di Flash                        vietava
        esplicitamente l'implementazione di un player Flash
    ●   Le specifiche di SWF 9 vengono pubblicate da Adobe il
        2008-05-01, nell'ambito di OSP (Open Screen Project), alcune
        parti del formato rimangono comunque chiuse (RTMP, FLV,
        Sorensen Spark video codec).
    ●   Le specifiche del protocollo RTMP sono state rilasciate il giorno
         2009-06-15, tuttavia non includono RTMPE (protocollo di
        crittazione / DRM).
    ●   Le specifiche di Flash / FLV / RTMP ottenute da RE / leak erano
        in circolo da tempo in Internet e su di quelle si basano la
        maggior parte delle implementazioni libere



Cagliari, 2009-10-24   GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it

Stefano Sabatini, Flash e software libero                                              7
Il “caso” rtmpdump
    ●   Il 2009-05-08 Adobe impugna il DMCA (Digital Millennium Copyright
        Act) contro il progetto rtmpdump, che implementa un sistema di
        aggiramento a RTMPE, richiedendo a Sourceforge l'inattivazione del
        progetto:
        http://www.chillingeffects.org/anticircumvention/notice.cgi?
        NoticeID=25159
    ●   Sourceforge, con sede negli USA, disabilita l'hosting al progetto
    ●   Tuttavia il DMCA può essere applicato solo negli USA, il codice del
        progetto può essere legalmente ospitato in server residenti in altri
        paesi
    ●   RTMPE (le cui specifiche sono note in rete) viene sottoposto ad
        analisi, viene ritenuto non sicuro dalla maggior parte degli analisti
    ●   Le specifiche di RTMP rilasciate da Adobe il 2009-06-15 non
        includono le specifiche di RTMPE
    ●   rtmpdump arriva finalista al concorso “progetto dell'anno” indetto
        da Sourceforge
Cagliari, 2009-10-24   GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it

Stefano Sabatini, Flash e software libero                                       8
Supporto “officiale” Flash in Linux
    ●   Flash player versione 9 e seguenti rilasciato per Linux
    ●   Flex Builder 3: ambiente di sviluppo (basato su Eclipse) per
        Flash / Flex (no “view mode”): progetto morto?
    ●   mxmlc (tool a riga da comando per la compilazione di file Flex)
    ●   Alcuni collegamenti:
        ●   http://www.peterelst.com/blog/2008/07/04/linux-flash-player-10/
        ●   http://wdawe.com/index.php/sorry-for-doubting-you-adobe-air-
            for-lin?blog=1
        ●   http://wdawe.com/index.php/adobe-breaks-flash-for-linux-
            webcam-and?blog=1
    ●   Non è pianificato alcun porting di un ambiente di sviluppo
        visuale Flash (FC) in Linux




Cagliari, 2009-10-24   GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it

Stefano Sabatini, Flash e software libero                                     9
Strumenti di sviluppo Flash
    ●   Flasm: flash disassembler
    ●   Swfmill (www.swfmill.org): strumenti di conversione XML <->
        SWF
    ●   Swftools   (www.swftools.org):   strumenti                           di   analisi   e
        compilazione per Flash (SWF v9) da AS2, AS3
    ●   MING / libming (www.libming.org): fornisce una libreria per la
        produzione di file SWF + una serie di strumenti di sviluppo /
        analisi di file SWF
    ●   MTASC (Motion Twin Action Script Compiler): compilatore AS2
        → SWF 9
    ●   HaXe (www.haxe.org): sistema di compilazione di SWF a
        partire da sorgenti di vari linguaggi (HaXe, python, C, C++
        etc).


Cagliari, 2009-10-24   GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it

Stefano Sabatini, Flash e software libero                                                   10
Ambienti di sviluppo visuale Flash
    ●   Flash4Linux: www.f2l.sourceforge.net
    ●   FlashDevelop: (www.flashdevelop.org): ambiente di sviluppo
        visuale basato su quello di Adobe FC (Flash Catalyst), solo per
        Mac/Windows




Cagliari, 2009-10-24   GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it

Stefano Sabatini, Flash e software libero                                    11
Player Flash
    ●   Gnash: progetto sponsorizzato da GNU, supporto per molte
        piattaforme, sviluppato in C++, diretto da Rob Savoye
    ●   Libswfdec: sponsorizzato da Mozilla Foundation, diretto da
        Benjamin Otte




Cagliari, 2009-10-24   GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it

Stefano Sabatini, Flash e software libero                                    12
Registratori di stream Flash / RTMP
    ●   rtmpdump: basato su librtmp, supporto a RTMPE
    ●   FFmpeg: nell'ambito del GSOC 2009 è stato aggiunto supporto
        a RTMP
    ●   www.flazr.com:   libreria   di   supporto                            a   RTMP   più
        implementazione di un client basata su Java




Cagliari, 2009-10-24   GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it

Stefano Sabatini, Flash e software libero                                                 13
Server di Streaming Flash
    ●   Red5: basato su Java, implementazione                                  matura,     ampio
        impiego (www.facebook.org)
    ●   Cygnal: parte del progetto                                  Gnash,   ancora   in    fase
        sperimentale / incompleto
    ●   www.mammothserver.org: fase alpha, sviluppato in C++,
        apparentemente fermo dal 2008
    ●   www.haxevideo.org:   server                            di       streaming   audio/video
        implementato in haXe




Cagliari, 2009-10-24   GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it

Stefano Sabatini, Flash e software libero                                                      14
Considerazioni finali
    ●   La diffusione di Flash rende l'utilizzo di Flash a vari livelli (uso e
        sviluppo) una richiesta fondamentale per l'usabilità di una
        buona parte dei contenuti web attuali
    ●   L'esistenza e la disponibilità di implementazioni libere è
        fondamentale per la realizzazione di un sistema SW libero
    ●   È importante che vi siano delle specifiche aperte, per garantire
        la vera intercompatibilità / interoperabilità
    ●   La posizione di Adobe, per quanto aperta (OSP, rilascio
        specifiche), è tuttavia restrittiva su molti punti
    ●   La presenza di implementazioni libere rende possibile
        un'utilizzo / diffusione maggiore di Flash (e.g. Gnash +
        dispositivi mobili)
    ●   L'utilizzo di soluzioni libere consente un risparmio economico
        (indipendenza dallo sviluppatore del servizio, no lock-in) e
        garantisce la libertà finale degli utenti
Cagliari, 2009-10-24   GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it

Stefano Sabatini, Flash e software libero                                    15
Risorse
    ●   www.osflash.org
    ●   www.wikipedia.org
    ●   wiki.multimedia.cx
    ●   http://lkcl.net/rtmp: sul protocollo                            RTMP   /   RTMPE,   varie
        implementazioni di Flash libere
    ●   http://captsolo.net/info/blog_a.php/2009/01/19/rtmp_flash_vide
        o_streaming_protocol




Cagliari, 2009-10-24   GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it

Stefano Sabatini, Flash e software libero                                                       16
Bonus
    ●   www.thesecrettechnology.com
    ●   www.gotmilk.com
    ●   www.milkquarious.com




Cagliari, 2009-10-24   GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it

Stefano Sabatini, Flash e software libero                                    17

Mais conteúdo relacionado

Mais procurados

Linux & Tools: per la piccola azienda e i freelance
Linux & Tools: per la piccola azienda e i freelanceLinux & Tools: per la piccola azienda e i freelance
Linux & Tools: per la piccola azienda e i freelanceFabio Mora
 
Debian translation party 2
Debian translation party 2Debian translation party 2
Debian translation party 2Stefano Canepa
 
Iced tea, la macchina virtuale Java libera
Iced tea, la macchina virtuale Java liberaIced tea, la macchina virtuale Java libera
Iced tea, la macchina virtuale Java liberaVitalij Zadneprovskij
 
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linuxTrace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linuxDeveler S.r.l.
 
Lua e MOAI SDK: sviluppiamo videogames!
Lua e MOAI SDK: sviluppiamo videogames!Lua e MOAI SDK: sviluppiamo videogames!
Lua e MOAI SDK: sviluppiamo videogames!Open Makers Italy
 
Installazione Qt 4.5.3 per Ms Windows
Installazione Qt 4.5.3 per Ms WindowsInstallazione Qt 4.5.3 per Ms Windows
Installazione Qt 4.5.3 per Ms WindowsPaolo Sereno
 
Cosino Enigma: the encrypted GNU/LINUX system has come true!
Cosino Enigma: the encrypted GNU/LINUX system has come true!Cosino Enigma: the encrypted GNU/LINUX system has come true!
Cosino Enigma: the encrypted GNU/LINUX system has come true!festival ICT 2016
 
Appunti_01 LPIC-1 Junior Level Linux Certification
Appunti_01 LPIC-1 Junior Level Linux CertificationAppunti_01 LPIC-1 Junior Level Linux Certification
Appunti_01 LPIC-1 Junior Level Linux CertificationVincenzo Argese
 
Progetto Linux va a scuola - Descrizione tecnica
Progetto Linux va a scuola - Descrizione tecnicaProgetto Linux va a scuola - Descrizione tecnica
Progetto Linux va a scuola - Descrizione tecnicaBergamo Linux Users Group
 
Da windows a_linux_ot2013
Da windows a_linux_ot2013Da windows a_linux_ot2013
Da windows a_linux_ot2013Pordenone LUG
 

Mais procurados (19)

Linux & Tools: per la piccola azienda e i freelance
Linux & Tools: per la piccola azienda e i freelanceLinux & Tools: per la piccola azienda e i freelance
Linux & Tools: per la piccola azienda e i freelance
 
Foss ieri e oggi
Foss ieri e oggiFoss ieri e oggi
Foss ieri e oggi
 
Debian translation party 2
Debian translation party 2Debian translation party 2
Debian translation party 2
 
Iced tea, la macchina virtuale Java libera
Iced tea, la macchina virtuale Java liberaIced tea, la macchina virtuale Java libera
Iced tea, la macchina virtuale Java libera
 
Lab automation
Lab automationLab automation
Lab automation
 
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linuxTrace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
 
Lua e MOAI SDK: sviluppiamo videogames!
Lua e MOAI SDK: sviluppiamo videogames!Lua e MOAI SDK: sviluppiamo videogames!
Lua e MOAI SDK: sviluppiamo videogames!
 
Installazione Qt 4.5.3 per Ms Windows
Installazione Qt 4.5.3 per Ms WindowsInstallazione Qt 4.5.3 per Ms Windows
Installazione Qt 4.5.3 per Ms Windows
 
Linux Day 2017 - Italia
Linux Day 2017 - ItaliaLinux Day 2017 - Italia
Linux Day 2017 - Italia
 
Cosino Enigma: the encrypted GNU/LINUX system has come true!
Cosino Enigma: the encrypted GNU/LINUX system has come true!Cosino Enigma: the encrypted GNU/LINUX system has come true!
Cosino Enigma: the encrypted GNU/LINUX system has come true!
 
Progetto Linux va a scuola
Progetto Linux va a scuolaProgetto Linux va a scuola
Progetto Linux va a scuola
 
Desktop searching
Desktop searchingDesktop searching
Desktop searching
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
 
Appunti_01 LPIC-1 Junior Level Linux Certification
Appunti_01 LPIC-1 Junior Level Linux CertificationAppunti_01 LPIC-1 Junior Level Linux Certification
Appunti_01 LPIC-1 Junior Level Linux Certification
 
Ubuntu Linux - Corso Base
Ubuntu Linux - Corso BaseUbuntu Linux - Corso Base
Ubuntu Linux - Corso Base
 
Ubuntu Linux
Ubuntu LinuxUbuntu Linux
Ubuntu Linux
 
Ogg vorbis
Ogg vorbisOgg vorbis
Ogg vorbis
 
Progetto Linux va a scuola - Descrizione tecnica
Progetto Linux va a scuola - Descrizione tecnicaProgetto Linux va a scuola - Descrizione tecnica
Progetto Linux va a scuola - Descrizione tecnica
 
Da windows a_linux_ot2013
Da windows a_linux_ot2013Da windows a_linux_ot2013
Da windows a_linux_ot2013
 

Destaque

Software libero: verso un modello di business
Software libero: verso un modello di businessSoftware libero: verso un modello di business
Software libero: verso un modello di businessStefano Sabatini
 
Introduzione al software libero
Introduzione al software liberoIntroduzione al software libero
Introduzione al software liberoStefano Sabatini
 
Introduzione a libavfilter
Introduzione a libavfilterIntroduzione a libavfilter
Introduzione a libavfilterStefano Sabatini
 
FFmpeg - the universal multimedia toolkit
FFmpeg - the universal multimedia toolkitFFmpeg - the universal multimedia toolkit
FFmpeg - the universal multimedia toolkitStefano Sabatini
 
Introduzione al Free Software e all’Open Source
Introduzione al Free Software e all’Open SourceIntroduzione al Free Software e all’Open Source
Introduzione al Free Software e all’Open SourceLuca Galliani
 
Software Libero & OpenSource (N. Di Marzo, P. Campi)
Software Libero & OpenSource (N. Di Marzo, P. Campi)Software Libero & OpenSource (N. Di Marzo, P. Campi)
Software Libero & OpenSource (N. Di Marzo, P. Campi)Galliate Linux User Group
 
Data hiding - metodologie e strumenti open source
Data hiding - metodologie e strumenti open sourceData hiding - metodologie e strumenti open source
Data hiding - metodologie e strumenti open sourceMarco Ferrigno
 
BizTalk and Hybrid Integration
BizTalk and Hybrid IntegrationBizTalk and Hybrid Integration
BizTalk and Hybrid IntegrationBizTalk360
 
FFmpeg - lo strumento multimediale universale
FFmpeg - lo strumento multimediale universaleFFmpeg - lo strumento multimediale universale
FFmpeg - lo strumento multimediale universaleStefano Sabatini
 

Destaque (13)

Software libero: verso un modello di business
Software libero: verso un modello di businessSoftware libero: verso un modello di business
Software libero: verso un modello di business
 
Introduzione al software libero
Introduzione al software liberoIntroduzione al software libero
Introduzione al software libero
 
Vulnerabilità exploit
Vulnerabilità exploitVulnerabilità exploit
Vulnerabilità exploit
 
Libavfilter
LibavfilterLibavfilter
Libavfilter
 
Introduzione a libavfilter
Introduzione a libavfilterIntroduzione a libavfilter
Introduzione a libavfilter
 
FFmpeg - the universal multimedia toolkit
FFmpeg - the universal multimedia toolkitFFmpeg - the universal multimedia toolkit
FFmpeg - the universal multimedia toolkit
 
Introduzione al Free Software e all’Open Source
Introduzione al Free Software e all’Open SourceIntroduzione al Free Software e all’Open Source
Introduzione al Free Software e all’Open Source
 
Linux & Open Source - Lezione 1
Linux & Open Source - Lezione 1Linux & Open Source - Lezione 1
Linux & Open Source - Lezione 1
 
Software Libero & OpenSource (N. Di Marzo, P. Campi)
Software Libero & OpenSource (N. Di Marzo, P. Campi)Software Libero & OpenSource (N. Di Marzo, P. Campi)
Software Libero & OpenSource (N. Di Marzo, P. Campi)
 
Data hiding - metodologie e strumenti open source
Data hiding - metodologie e strumenti open sourceData hiding - metodologie e strumenti open source
Data hiding - metodologie e strumenti open source
 
Linux Burning Machine
Linux Burning MachineLinux Burning Machine
Linux Burning Machine
 
BizTalk and Hybrid Integration
BizTalk and Hybrid IntegrationBizTalk and Hybrid Integration
BizTalk and Hybrid Integration
 
FFmpeg - lo strumento multimediale universale
FFmpeg - lo strumento multimediale universaleFFmpeg - lo strumento multimediale universale
FFmpeg - lo strumento multimediale universale
 

Semelhante a Flash e software libero

Drush make vs composer
Drush make vs composer Drush make vs composer
Drush make vs composer sparkfabrik
 
Costruisci la tua piattaforma open-source di video-sharing in Python
Costruisci la tua piattaforma open-source di video-sharing in Python Costruisci la tua piattaforma open-source di video-sharing in Python
Costruisci la tua piattaforma open-source di video-sharing in Python simahawk
 
Degree Dissertation
Degree DissertationDegree Dissertation
Degree Dissertationbbg5ne
 
Framework per la realizzazione di ria
Framework per la realizzazione di riaFramework per la realizzazione di ria
Framework per la realizzazione di riaLorenzo Bortolotto
 
GNU/Linux PowerPC Notebook Linux day 2015 Milano
GNU/Linux PowerPC Notebook Linux day 2015 MilanoGNU/Linux PowerPC Notebook Linux day 2015 Milano
GNU/Linux PowerPC Notebook Linux day 2015 MilanoRoberto Innocenti
 
Matteo baccan raspberry pi - linox 2014
Matteo baccan   raspberry pi - linox 2014Matteo baccan   raspberry pi - linox 2014
Matteo baccan raspberry pi - linox 2014Matteo Baccan
 
Linux Embedded per l'automazione
Linux Embedded per l'automazioneLinux Embedded per l'automazione
Linux Embedded per l'automazioneDaniele Costarella
 
Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014
Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014
Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014Janhu Silvio Crispiatico
 
WUI con Google Polymer
WUI con Google PolymerWUI con Google Polymer
WUI con Google PolymerNaLUG
 
Presentazione+Android
Presentazione+AndroidPresentazione+Android
Presentazione+AndroidNicola Pedot
 
Link. php [santi caltabiano]
  Link. php [santi caltabiano]  Link. php [santi caltabiano]
Link. php [santi caltabiano]santi caltabiano
 
Programmazione mobile: ANDROID
Programmazione mobile: ANDROIDProgrammazione mobile: ANDROID
Programmazione mobile: ANDROIDPaolo Tosato
 
Formati aperti vs formati proprietari
Formati aperti vs formati proprietariFormati aperti vs formati proprietari
Formati aperti vs formati proprietariRiccardo Zanella
 

Semelhante a Flash e software libero (20)

Flash vs jQuery
Flash vs jQueryFlash vs jQuery
Flash vs jQuery
 
Drush make vs composer
Drush make vs composer Drush make vs composer
Drush make vs composer
 
WPD plumi
WPD   plumiWPD   plumi
WPD plumi
 
Drush make vs composer
 Drush make vs composer Drush make vs composer
Drush make vs composer
 
Costruisci la tua piattaforma open-source di video-sharing in Python
Costruisci la tua piattaforma open-source di video-sharing in Python Costruisci la tua piattaforma open-source di video-sharing in Python
Costruisci la tua piattaforma open-source di video-sharing in Python
 
Rich Internet Application
Rich Internet ApplicationRich Internet Application
Rich Internet Application
 
Degree Dissertation
Degree DissertationDegree Dissertation
Degree Dissertation
 
Android
AndroidAndroid
Android
 
Framework per la realizzazione di ria
Framework per la realizzazione di riaFramework per la realizzazione di ria
Framework per la realizzazione di ria
 
Link. javascript ajax
  Link. javascript ajax  Link. javascript ajax
Link. javascript ajax
 
GNU/Linux PowerPC Notebook Linux day 2015 Milano
GNU/Linux PowerPC Notebook Linux day 2015 MilanoGNU/Linux PowerPC Notebook Linux day 2015 Milano
GNU/Linux PowerPC Notebook Linux day 2015 Milano
 
Matteo baccan raspberry pi - linox 2014
Matteo baccan   raspberry pi - linox 2014Matteo baccan   raspberry pi - linox 2014
Matteo baccan raspberry pi - linox 2014
 
Linux Embedded per l'automazione
Linux Embedded per l'automazioneLinux Embedded per l'automazione
Linux Embedded per l'automazione
 
Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014
Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014
Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014
 
Conferenza Pymaemo
Conferenza PymaemoConferenza Pymaemo
Conferenza Pymaemo
 
WUI con Google Polymer
WUI con Google PolymerWUI con Google Polymer
WUI con Google Polymer
 
Presentazione+Android
Presentazione+AndroidPresentazione+Android
Presentazione+Android
 
Link. php [santi caltabiano]
  Link. php [santi caltabiano]  Link. php [santi caltabiano]
Link. php [santi caltabiano]
 
Programmazione mobile: ANDROID
Programmazione mobile: ANDROIDProgrammazione mobile: ANDROID
Programmazione mobile: ANDROID
 
Formati aperti vs formati proprietari
Formati aperti vs formati proprietariFormati aperti vs formati proprietari
Formati aperti vs formati proprietari
 

Flash e software libero

  • 1. Flash e software libero Stefano Sabatini GULCh Cagliari, 2009-10-24 GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it Stefano Sabatini, Flash e software libero 1
  • 2. La tecnologia alla base di Flash ● Un file flash / SWF (Small Web Format) è interpretato da una macchina virtuale Flash ● I file swiff possono essere interpretati sia da un interprete standalone sia da un plugin inserito all'interno del browser. ● Il linguaggio della VM è orientato alla renderizzazione di animazioni ● Motore di rendering basato su grafica scalare ● Il linguaggio solitamente utilizzato per la programmazione degli swf è un file Action Script (2 / 3), gli ambiente di sviluppo visuale generano automaticamente il codice (programmazione “visuale”). ● Esistono vari formati del linguaggio della VM (swf 7 – swf 10). ● L'esecuzione di uno swiff è soggetto a delle restrizioni di sicurezza ● Con la tecnologia AIR (Adobe Integrate Realtime) è possibile utilizzare la stessa teconologia di sviluppo e renderizzazione per applicazioni desktop native (senza le limitazioni di sicurezza di Flash) Cagliari, 2009-10-24 GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it Stefano Sabatini, Flash e software libero 2
  • 3. Ambiti di utilizzo di Flash ● Presentazione di elementi multimediali all'interno di una pagina web (youtube / vimeo / facebook) ● Inclusione di animazioni all'interno di servizi web ● Inclusione di oggetti multimediali interattivi (e.g. giochi) all'interno di servizi web ● Applicazioni Desktop (con AIR) Cagliari, 2009-10-24 GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it Stefano Sabatini, Flash e software libero 3
  • 4. Diffusione di Flash ● È stato stimato che il plugin Flash di Adobe si trova installato sul 99% dei computer usati per l'accesso al web, il 90% utilizza l'ultima versione (fonte: Wikipedia ;-)) ● È il formato dominante per la renderizzazione di contenuto multimediale interattivo sul web ● Il plugin Flash (correntemente: alla versione 10) è disponibile per Windows, Mac, Linux; i browser integrati in Sony PS3, Sony PSP e Wii forniscono supporto a Flash Cagliari, 2009-10-24 GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it Stefano Sabatini, Flash e software libero 4
  • 5. Alternative a Flash ● Silverlight (MS) / MoonLight ● HTML 5? (per quanto riguarda la presentazione di contenuto multimediale non interattivo) Cagliari, 2009-10-24 GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it Stefano Sabatini, Flash e software libero 5
  • 6. Breve storia di Adobe ● 1982: viene fondata da John Warnock e Charles Geschke, ricercatori del laboratorio di Xerox a Palo Alto Research Center (PARC), per sviluppare e vendere il linguaggio di descrizione delle pagine PostScript (sviluppato a partire da Interpress). ● Insieme a PostScript (poi PDF) sviluppo font proprietari Type 1 (presto in competizione con i font TrueType Apple -> Microsoft). ● Altri prodotti sviluppati: Adobe Illustrator. ● 1985: Apple licenzia PostScript per l'uso per le use stampanti laser LaserWriter (tra le prime stampanti laser con un interprete PostScript incorporato): capacità di stampa di layout più complessi rispetto alle stampanti HP PCL -> maggior costo. ● 1989: rilascio di Adobe Photoshop 1.0, in breve domina il mercato. ● 2004: acquisisce la compagnia francese OKYZ S.A., sviluppatori di software di collaborazione 3D -> maggiori competenze nell'ambito delle teconologie 3D. ● 2005: acquisto della società rivale Macromedia per $3.4 billioni. Tra gli altri prodotti vengono aggiunti alla filiera: Adobe Director, Adobe Dreamweaver, Adobe Fireworks, Adobe Flash, Macromedia FlashPaper, Adobe Flex. Cagliari, 2009-10-24 GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it Stefano Sabatini, Flash e software libero 6
  • 7. Standardizzazione di Flash ● Flash nasce come tecnologia proprietaria. ● Fino al 2008-05-01, la licenza d'uso di Flash vietava esplicitamente l'implementazione di un player Flash ● Le specifiche di SWF 9 vengono pubblicate da Adobe il 2008-05-01, nell'ambito di OSP (Open Screen Project), alcune parti del formato rimangono comunque chiuse (RTMP, FLV, Sorensen Spark video codec). ● Le specifiche del protocollo RTMP sono state rilasciate il giorno 2009-06-15, tuttavia non includono RTMPE (protocollo di crittazione / DRM). ● Le specifiche di Flash / FLV / RTMP ottenute da RE / leak erano in circolo da tempo in Internet e su di quelle si basano la maggior parte delle implementazioni libere Cagliari, 2009-10-24 GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it Stefano Sabatini, Flash e software libero 7
  • 8. Il “caso” rtmpdump ● Il 2009-05-08 Adobe impugna il DMCA (Digital Millennium Copyright Act) contro il progetto rtmpdump, che implementa un sistema di aggiramento a RTMPE, richiedendo a Sourceforge l'inattivazione del progetto: http://www.chillingeffects.org/anticircumvention/notice.cgi? NoticeID=25159 ● Sourceforge, con sede negli USA, disabilita l'hosting al progetto ● Tuttavia il DMCA può essere applicato solo negli USA, il codice del progetto può essere legalmente ospitato in server residenti in altri paesi ● RTMPE (le cui specifiche sono note in rete) viene sottoposto ad analisi, viene ritenuto non sicuro dalla maggior parte degli analisti ● Le specifiche di RTMP rilasciate da Adobe il 2009-06-15 non includono le specifiche di RTMPE ● rtmpdump arriva finalista al concorso “progetto dell'anno” indetto da Sourceforge Cagliari, 2009-10-24 GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it Stefano Sabatini, Flash e software libero 8
  • 9. Supporto “officiale” Flash in Linux ● Flash player versione 9 e seguenti rilasciato per Linux ● Flex Builder 3: ambiente di sviluppo (basato su Eclipse) per Flash / Flex (no “view mode”): progetto morto? ● mxmlc (tool a riga da comando per la compilazione di file Flex) ● Alcuni collegamenti: ● http://www.peterelst.com/blog/2008/07/04/linux-flash-player-10/ ● http://wdawe.com/index.php/sorry-for-doubting-you-adobe-air- for-lin?blog=1 ● http://wdawe.com/index.php/adobe-breaks-flash-for-linux- webcam-and?blog=1 ● Non è pianificato alcun porting di un ambiente di sviluppo visuale Flash (FC) in Linux Cagliari, 2009-10-24 GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it Stefano Sabatini, Flash e software libero 9
  • 10. Strumenti di sviluppo Flash ● Flasm: flash disassembler ● Swfmill (www.swfmill.org): strumenti di conversione XML <-> SWF ● Swftools (www.swftools.org): strumenti di analisi e compilazione per Flash (SWF v9) da AS2, AS3 ● MING / libming (www.libming.org): fornisce una libreria per la produzione di file SWF + una serie di strumenti di sviluppo / analisi di file SWF ● MTASC (Motion Twin Action Script Compiler): compilatore AS2 → SWF 9 ● HaXe (www.haxe.org): sistema di compilazione di SWF a partire da sorgenti di vari linguaggi (HaXe, python, C, C++ etc). Cagliari, 2009-10-24 GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it Stefano Sabatini, Flash e software libero 10
  • 11. Ambienti di sviluppo visuale Flash ● Flash4Linux: www.f2l.sourceforge.net ● FlashDevelop: (www.flashdevelop.org): ambiente di sviluppo visuale basato su quello di Adobe FC (Flash Catalyst), solo per Mac/Windows Cagliari, 2009-10-24 GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it Stefano Sabatini, Flash e software libero 11
  • 12. Player Flash ● Gnash: progetto sponsorizzato da GNU, supporto per molte piattaforme, sviluppato in C++, diretto da Rob Savoye ● Libswfdec: sponsorizzato da Mozilla Foundation, diretto da Benjamin Otte Cagliari, 2009-10-24 GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it Stefano Sabatini, Flash e software libero 12
  • 13. Registratori di stream Flash / RTMP ● rtmpdump: basato su librtmp, supporto a RTMPE ● FFmpeg: nell'ambito del GSOC 2009 è stato aggiunto supporto a RTMP ● www.flazr.com: libreria di supporto a RTMP più implementazione di un client basata su Java Cagliari, 2009-10-24 GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it Stefano Sabatini, Flash e software libero 13
  • 14. Server di Streaming Flash ● Red5: basato su Java, implementazione matura, ampio impiego (www.facebook.org) ● Cygnal: parte del progetto Gnash, ancora in fase sperimentale / incompleto ● www.mammothserver.org: fase alpha, sviluppato in C++, apparentemente fermo dal 2008 ● www.haxevideo.org: server di streaming audio/video implementato in haXe Cagliari, 2009-10-24 GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it Stefano Sabatini, Flash e software libero 14
  • 15. Considerazioni finali ● La diffusione di Flash rende l'utilizzo di Flash a vari livelli (uso e sviluppo) una richiesta fondamentale per l'usabilità di una buona parte dei contenuti web attuali ● L'esistenza e la disponibilità di implementazioni libere è fondamentale per la realizzazione di un sistema SW libero ● È importante che vi siano delle specifiche aperte, per garantire la vera intercompatibilità / interoperabilità ● La posizione di Adobe, per quanto aperta (OSP, rilascio specifiche), è tuttavia restrittiva su molti punti ● La presenza di implementazioni libere rende possibile un'utilizzo / diffusione maggiore di Flash (e.g. Gnash + dispositivi mobili) ● L'utilizzo di soluzioni libere consente un risparmio economico (indipendenza dallo sviluppatore del servizio, no lock-in) e garantisce la libertà finale degli utenti Cagliari, 2009-10-24 GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it Stefano Sabatini, Flash e software libero 15
  • 16. Risorse ● www.osflash.org ● www.wikipedia.org ● wiki.multimedia.cx ● http://lkcl.net/rtmp: sul protocollo RTMP / RTMPE, varie implementazioni di Flash libere ● http://captsolo.net/info/blog_a.php/2009/01/19/rtmp_flash_vide o_streaming_protocol Cagliari, 2009-10-24 GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it Stefano Sabatini, Flash e software libero 16
  • 17. Bonus ● www.thesecrettechnology.com ● www.gotmilk.com ● www.milkquarious.com Cagliari, 2009-10-24 GULCh - Gruppo Utenti Linux Cagliari - www.gulch.it Stefano Sabatini, Flash e software libero 17