About Open Sourcing Flash


#1

Right after the dreaded announcement of Adobe planing Flash EOL by end of 2020

some people started to mention something like that:

Yay Flash is dead!!!
wait … how are we gonna play SWF in the browser after 2020 ?

and then some other people came back with

oh … Adobe should open source Flash

After that, someone put this github page here

Petition to open source Flash spec
github.com/pakastin/open-source-flash

and that’s it? problem solved ?


Wether Flash is open sourced or not will not solve the main problem:
play a SWF inside the web browsers.

It feels like nobody really know what they are talking about and that they have a very short memories of events … so let put everything on the table.

First problem is correlation does not imply causation.
People will not be able to play SWF in the browsers not because Adobe announced Flash EOL in 2020,
but because the web browsers are removing plugins no matter what.

Flash EOL in 2020 is not the cause, it is the consequence of browsers getting rid of plugins.

You could have the whole Flash plugin sources open sourced right now, it does not matter to have the sources if you can not actually install the plugin in the damn browser.


Second problem is people are confusing everything about Flash.
Flash EOL in 2020 just means that at this time Adobe will stop to update the Flash Player plugin.

Supposed in 2020 you can still find a browser that support plugins, you can still play all the SWF you want. But major browser vendors have already planed to block Flash and remove any plugin.

Does it mean that animate CC not gonna support the SWF format ?
no

Does it mean that Adobe AIR is dead too?
no

Does it mean that ActionScript is dead?
no

And on, and on, and on…

But most people are like "oh Flash is dead then the Flash software (Animate CC) is dead too,
or “Flash is dead yipieee!!! ActionScript is dead too” …

Morons.

And the very same confusion come into play with the “oh yeah let’s open source Flash and voila problem solved”, no it does not solve the problem.


So I hear what people wants: preservation of the SWF content on the web,
so by 2020 or even before and after, if someone want to play a SWF he/she can find an alternative that allow him/her to do so.

Let’s archive all the Flash!!!
This not gonna do much, ok then you got your SWF archived somewhere, but how do you actually play it in the browser ? you can’t.

Let’s open source all the Flash!!!
Not gonna do much either, good on you you have an open source Flash Player, can you install it in your browser? no you can’t.

And by then people run out of ideas… and so they come with even more stupid ideas.

Let’s play the SWF outside of the browser!!!

  • It could work for some basic SWF
    but it will fail for all the SWF that need to load external dependencies
    for example many games rely on loading external SWF for their levels
    some other games will test to see if they are actually loaded in a browser
    or if they are hosted on a particular domain and if not will block the loading of the whole game, etc.

  • Let’s play the SWF in the Standalone Flash Player
    same as above, it will work for the simple SWF that does not load external stuff
    but for more complex case it will fail

  • Let’s play the SWF in Adobe AIR on the desktop
    this one could work but still have the same issues as above
    also you will not load the SWF directly in AIR, you will need to
    use the AIR HTMLLoader (another browser) and then display the SWF
    and for that you would need to have the Flash Player plugin installed on the system
    because AIR does not embed the plugin anymore, it rely on the plugin being available on the system

So, even if you archive those SWF it is not enough to just get the SWF, you need to get the whole environment and dependencies, eg. you need the HTML page embedding the SWF and the external assets in the correct folders, and for the more complex case you need to emulate the HTTP host (case where playing a SWF from local is blocked).

In any case, you will not be able to just play the SWF in your current browser of choice.


The only way to play a SWF in the browser without the Flash Player plugin is something like Shumway, eg. being able to play a SWF file without a plugin.

But Shumway has been abandoned, see Some Thoughts on the HTML Target for AIR

Firefox::Shumway component can be moved to the Firefox Graveyard component. People can report Shumway bugs on GitHub: https://github.com/mozilla/shumway/

The other alternative is to recompile to something else, but that assume you got the sources and the resources to do it.

First problem with that is that a lot of domain host SWF and they don’t have the sources, and there is no magic “SWF to something else” converters available, and yeah Google gave it a shot with Swiffy but that too has been abandoned.

Second problem, supposed you have the sources, there is nothing out there that can easily port sources like FLA files, AS2/AS3 files and output something else than a SWF.

That means to convert your SWF, even if you have all the sources, require a manual rewrite and that take time and resources that most people do not want to spend just to preserve “old content”.

And in all those cases, let me say that again, wether the Flash Player plugin is open sourced or not does not matter at all.

Because even if you have the Flash Player plugin sources in C++, what do you do ?
You go back into Shumway sources and port all that C++ code to TypeScript ?
What about the limitations of the browser API ? there are still there.

People would be very eager to have a magic solution, either a SWF converter or a SWF player (ideally both), but nobody actually want to spend resources building it.


Adobe already open sourced the core of the Flash Player: the ActionScript Virtual Machine (AVM2),
it’s here available to anyone: github.com/adobe/avmplus.

It’s not the whole Flash Player sources but it is a good start, available since 2006.
But who actually worked on it besides Adobe? well… nobody (almost nobody).

Just avmplus “as is” is a complex project, and nobody (almost nobody) done anything with it, what make you think that by getting suddenly the Flash Player sources you will get magically tons of contributors working on it to do something with it?

I don’t think so.

The same way Shumway and Swiffy got abandoned because well… it’s hard work, who would actually work on this Flash Player sources ?

Personally I would love to have access to the whole Flash Player sources under an OSS licence, just for the vector software renderer it will be worth it.

In the many talks about if Adobe could open source Flash, some people mentioned that even if Adobe wanted to do that, many parts of the sources could not be open sourced (3rd party proprietary licences to read/play some particular video codec and stuff like that).

One way or another, even if something could be done, it will not work 100% for all the SWF out there.
Yes, it is a hard problem to solve (with our without the Flash Player sources).


But let review that hard problem again:

  • on one side you have all these people who want flash to die
    and they got it, Adobe announced Flash Player EOL for 2020

  • on the other side you have another bunch of people who say
    but we want to preserve SWF and still be able to play SWF in the browser

You can not have both.

You can not, at the same time, use your favorite latest browser and play old SWF file.

This is incompatible.

It would be the same with anything else, like PNG files.
Remove the capabilities in the browsers to display PNG files and automatically all those PNG files can not be seen anymore.

The problem is the capacity to use a browser plugin or not, every single browsers out there want to remove those plugins, hence anything that depends on any plugin can not be seen in those browsers anymore.

If you want to still play SWF, that’s not the Flash Player plugin sources that you really need, it is another browser that still want to supports plugins.

That or the capability to play SWF with browsers technology and that have already been attempted by Adobe (project Wallaby), Google (project Swiffy) and Mozilla (project Shumway) and they have all “failed” one way or another.

And here the worst part, if a company or even an open source project were attempting to do something like that, they are guaranteed to be hated by all those people who want flash to die.

In summary, the problem is badly presented (open sourcing the Flash Player does not solve the problem), even if it was possible to still supports SWF in the browser it is a hard work that few can do (if any) and finally there is little to no gain to do that.


#2

The main thing is: i want to decide for myself - which feature i want to disable, and which i will always forcilly enable in my browser. Is it vulnerable or not? I don’t care. I can come through consequences, if they appear suddenly (will not appear).

Any system (OS, browser, any soft), that thinks, it knows better what i want or what i need, is a bad system. No exceptions. My own console - my rules.


#3

The browser vendors have already decided for you.

For example, nobody in the Google Chrome team asked the users if they wanted the Flash plugin blocked by default or not, they decided to block it, and that’s it.

They did try to sugar coat it by pretexting “it’s for your own good”, and other sad excuses, but all those are just that: excuses at best, but mainly bullshit.

So yeah I totally agree with you, any system that think “know best” is a bad system, but now that Google Chrome took over the browsers world, they can do pretty much anything they want, wether it is bad or not.


#4

Let’s add a couple more article to all that


First, the stupid one
on zdnet
A foolish petition to open source Adobe Flash
Please, please let Adobe Flash die in peace.

I don’t care of the guy credentials (see Steven J. Vaughan-Nichols bio) he is just spreading the usual bullshit and FUD.

He just hates Flash and want it to die.
Really, the arguments provided are really low quality and misinformed, you would expect better from someone with his bio.


Second, the smart one
on newgrounds
Flash 2020 and the Future

Basically, Tom Fulp (@TomFulp) makes those 3 very valid points

  1. Flash was never the reason for bad advertising on the web, bad ad companies were. Most ads are now using HTML5 and the irony is they are larger files and often consume more resources than Flash did. We also have new problems, for example Flash-based ads were never able to steal focus from your browser and force the page to scroll back to the ad. HTML5 ads that do that have been cropping up on NG this past year and we have to chase them down. We’re also seeing more ads that do forced page redirects. This is why it’s a great idea to become a supporter, so you can browse NG ad-free and ultimately help us run less ads for everyone else.

  2. Flash as a security threat was kind of a meme. Yes, Flash had vulnerabilities that needed to be patched and it was a bummer that it was a closed system. However your OS and your web browser also have vulnerabilities that get patched, as does all software. It became a popular thing to complain about but the reality is most people were getting their viruses and malware somewhere other than through an SWF file.

  3. It really bothers me when people cheer the death of Flash. I totally get why it’s time to move on but you shouldn’t cheer the death of something that empowered so many people and brought so much joy to the web for 20+ years. I think it’s a bandwagon that a lot of joyless people have jumped on, sorry if you’re one of them.

I could not say it any better, really if you want to keep 3 good and solid arguments to preserve Flash, those are the ones.


#5

and special price for Wired which cater for all opinions the stupid and the less stupid ones

ADOBE FINALLY KILLS FLASH DEAD
by Brian Barrett (07.25.17)

and

YOU MIGHT NOT MISS FLASH, BUT VIDEOGAMES WILL
by Julie Muncy (07.29.17)


#6

I can’t access the link… :frowning:


#7

ah ?

euh the link is http://www.newgrounds.com/bbs/topic/1424896
and works here

here a web archive link
web.archive.org/web/20170729161045/http://www.newgrounds.com/bbs/topic/1424896


#8

Thank you, original link gives me “DNS Address Not Found”