-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adobe already open sourced the core of the Flash Player #54
Comments
Good points! The reason I put this on GitHub was that I don't know everything, so it's good to gain knowledge what's the situation! |
What about There's many people discussing about the issues, I'm not alone: ...so there must be something missing still? |
OK, let's try to define the problem:
to be able to do that you need 3 elements
All the major browser vendors: Google Chrome, Mozilla Firefox, Microsoft Edge/IE, Apple Safari
and they announced to plan the following
So by end of 2020 to still be able to
you can either
"emulate it" and "convert it" are both hard problems, Open sourcing the Flash Player could help a project like Shumway, And if Flash Player is open sourced why not also make a petition to open source something like Swiffy ?
You can still use But you would still have another problem: the hosting of the SWF. By 2020, when all browsers does not play SWF, even if you have something like Shumway that can play SWF, I doubt the domains who have huge catalog of SWF files like miniclip, kongregate. armorgame, etc. will still hosts those SWF files for the fun of it. Also, those SWF files are not easily archived because they also depends on the domain providing an API, take miniclip for example, every single SWF game is loaded by a "game loader" that provide an API such as login, saving the score, multiplayer, etc. Most of those SWF games are domain locked, you can not just download the SWF and play it local. |
For me personally the no. 1 issue is that how do I revisit my old projects (from 1999 AS2 to AS3), which I have in either |
the simplest approach is to use Adobe AIR from AIR 1.0 to AIR 21, the Flash plugin was embedded into the AIR runtime see Flash Player and AIR 22 Release Notes
"as is" you can create a small wrapper in AIR, that create an HTMLLoader that will act as a "small" browser and that can play SWF file embed in HTML. Either from a domain or from a local file. |
I think WaterFox is still permitting people to run the plugins THEY like. It allows running of all 64-Bit NPAPI plugins and also running of unsigned extensions. See waterfoxproject.org or github.com/MrAlex94/Waterfox |
yes, but Waterfox is dependent from mozilla code.... |
zwetan: |
@madovsky |
@zwetan what about prepare redtamarin to render on webgl with skia? remember me? ^^ |
@devlfm |
I'm still confused whether Adobe has already open sourced Flash or not? Only partly? |
I believe flash will get reborn. but we can do more things exceed html5(js + css) and make the simple to flash air (stupid ane) |
They open sourced the ActionScript VM which is part of the Flash Player. It is a good starting point but this is not enough. |
Is it this? https://github.com/adobe-flash/avmplus
... |
I wish adobe did the same with shockwave and director and did some more documentation like they did with flash. I think there was a program years ago that can take a DCR or DIR program and extract out the lingo code and anything else, but I'm still trying to find it. |
@pakastin See the first message, there are two repos:
The second one was updated last year. |
2 main projects were open sourced
The Flex SDK was open sourced from the beginning (well almost.. since Flex 3) under Adobe umbrella, and later on they donated the project to the Apache Foundation and the project is now known as The "Apache Flex SDK". It's quite important to have the compilers open sourced, also new compilers (next gen) have been developed: Falcon and FalconJX, which lead to another "side project" FlexJS which allow to compile AS3 sources to JS sources. And on top of that, Adobe also open sourced WebkitAIR which is how they can embed a browser engine inside Adobe AIR with some neat features like being able to execute AS3 code from the JS side. In all those projects, the first common problem is the Flash API. The Flash API is quite complete and quite mature, it is not something you implement in a couple of months, it is much harder than that. Even if dev like AS3 as a programming language, or the tools like the compilers or animation tools like Animate CC that can generate SWF, the real sauce that allow them to be creative is the Flash API. The second big problem is the GUI rendering, the vector rendering engine of Flash is quite good and not that easy to replicate, if you go into things like Stage3D it get even harder to replicate. What could be done now, providing enough developers were contributing to such big project
with that you would get a somewhat equivalent open source version of Adobe AIR that could run on Windows, macOS and Linux but with not all the bells and whistles like Stage3D etc. It would be quite an advanced and hard project. But this project would still not play SWF files as you are used to run in the Flash Player, you would have to go into the details of the SWF spec and implement all those SWF tags and interpret/combine them into the avmplus sources and render some of them using Skia. So, I'm not saying it is impossible, but it would certainly be extremely hard. |
OK, so it's not fully open source yet. |
So let's seriously petition Adobe. |
Off topic sorry: disabling plugins, results in giants (Google, Apple, Facebook) sniffing in everything we do. In every variable of our code. This was the goal since the beginning. Open sourcing Flash Player might not bring any benefit if browser vendors do not allow plugins anyway. |
PippoApps: not accept plugins anymore is a non sense, but not for the dev browsers themselves. zwetan: I completely agree with your analyze, yes, flash is what it is today because it took 18 years, |
Guys, here is what I think should have happened many years ago, or will hopefully happen soon. Somebody should simply write a Flash Player in Javascript (or in some other language, and compile to JS or WebAssembly), SWF specification is public and it seems to be even simpler than e.g. PDF (for which pdf.js exists). People are emulating the whole computers in browsers (to run any OS you want) - https://copy.sh/v86/, so emulating a virtual machine to "play SWF files" should not be a problem. I know, that Flash allows creating TCP sockets and other "low-level" things, which are not possible with current web technologies. But the emulator could prevent it or "fake" it somehow, I hope most of games would run without it. This would not depend on OS or a browser. It will run everywhere, just like any Javascript code runs the same way everywhere. And there would be no way browsers can stop us from "playing" these great SWF files in every browser for decades to come. |
it already happened, and many years ago, see mozilla/shumway also see the wikipedia shumway page
the most recent project to try that again is ruffle-rs/ruffle |
emulating flash player is indeed more than possible. the same applies for shockwave/director, which was only ever 'secure' from decompilers because it wasn't mainstream enough. by my observations, lingo code compilation is actually more lossless than actionscript. it's also probably easier to emulate under javascript. once the decoders are finished, that is. now, flash has some...annoying caveats that make things harder. animate HTML5 shows what happens when you don't properly process/render the shape format, for example. you get the ugly 'shape seams' that ruin vector artwork. but 'vector artwork shouldn't be rendered by clients, anyways, so who cares?' shm...
// end that beating a dead horse again: shumway: besides any malicious intents, they probably are trying to manage too many projects at once, as are most of these corporations. maintaining a web browser is already a task and a half, itself. note even the non-mainstream browsers tend to just fork code from the mainstream ones? or well, they start like that. i know a guy was also working on porting shumway to work with pixijs, and he actually solved that shape seams issue, too... can't remember where he mentioned that anymore. i only recently learned of ruffle. hopefully one of these projects will see completion some day. i so far haven't been sold on rust, however, and node/npm are/is an ABSOLUTE "no" in my book. i tried to load a rather simple SWF file on their demo site, and it did not work... i should file an issue, but too lazy/busy with my own things... also, i don't currently want to release the flash files i've been testing because they're either not appropriate, or it could undermine some of my archival/restoration projects. |
GNU Gnash is already open source. What more do you want? |
As is nouveau nvidia driver. Ready to ditch the blob ? |
even if you had the full source code of the Flash player plugin open sourced |
And yet I somehow have it enabled in my latest Firefox 77.0.1:
Also, all implementation of Flash, open and not, have stand-alone players. |
by "all major browsers" you should have understood the "official distribution by the vendors" but sure you can compile anything by yourself and have various results, but then it is just for you a bit like maintaining your own chromium fork and dicking around with few dozens users
a standalone player make it de facto something that run outside of the browser nope so about being useless, what's worth a plugin you can only compile or install for yourself on your own compiled browser ? not much distribution, availability and reachability were the killer features of Flash as a plugin |
If you would follow those links you would find out that it's an optimization for the official build of openSUSE, you know, one of the biggest and oldest enterprise GNU/Linux distributions, which includes Flash and NPAPI/PPAPI shim by itself:
It solves the problem of decades worth of media being playable.
It's worth more than your noise, that's for sure. You can go pay someone to compile or install things for you, if you're having troubles.
I wasn't aware that we were discussing some kind of world domination plan for The Cult of Flash. |
whatever, I'm flipping the bozo bit |
|
Apparently. https://en.wikipedia.org/wiki/KHTML#Descendants
https://en.wikipedia.org/wiki/WebKit#Origins
https://en.wikipedia.org/wiki/KDE
https://en.wikipedia.org/wiki/Google_Chrome
https://en.wikipedia.org/wiki/Chromium_(web_browser)
https://en.wikipedia.org/wiki/Microsoft_Edge
https://github.com/chromium/chromium/tree/master/third_party/blink https://en.wikipedia.org/wiki/WHATWG |
Chromium is the engine though, if I don't go wrong. Whatever is built around, including user login, password management, etc. is proprietary right? |
Should I explain how browser's UI does not execute browsed code, thus having nothing to do with WHATWG & W3C standards, or are you going to come up with even more childish strawmen and non sequitur to that too ? And looking at how fast you replied tells me that you were not ignorant of that in the first place. Or you might start explaining what that has to do with preserving Flash-based media by not making it rely on binary abandonware. |
I am asking respectful and civilized questions because I might have wrong information. I don't know what you are projecting on me. If you had talked to me like this in real life you would have a swollen red face now kid. Ask your parents to teach you manners. |
ah, haven't seen toxicity here in a while... |
Judging respectfulness is a prerogative of the addressed and to me it seems like disingenuous provocations, now turning to pompous and overtly hostile self-aggrandizement. Ignorant in search of education usually have sense to behave in front of those who they ask. Or, you know, just be "civilized" in general and not putting up false appearances.
There seem to be some adults with developmental difficulties who like to play nasty contrarians and instigate holy-wars. This is why I think that all public repository & development sites should require personhood & citizenship confirmation via bank cards, state licenses or something like that. |
yeah, i'd rather not jump down the 'verification' rabbit hole. it's not worth the issues with censorship, doxxing/blackmail, FURTHER mass surveillance, etc... especially as unable and unwilling many large institutions are to properly secure their data. unless ofc we're talking about DMCA, perpetrators and enablers of false claims should be prosecuted for perjury/fraud as is SUPPOSED to happen. but that's pretty off-topic for here. |
That's easily fixed by public-key infrastructure and signature verification messages that would preclude sites from having copies of personal info. Only government office that already handles registration would have personal data and it would be easy to verify authorship of anything. But that would require government not to be a bunch of corporate stooges. As for tracking, sites already give out their registration data for the likes of Google (not just from malice but often from laziness of not wanting to handle their own statistics) to track all doing of every individual to the point of generating behavioural profiles on everyone. I just want this infrastructure to serve for the benefit of public and not against it, as it currently does. As for "further" censorship and surveillance. There is no "further", there is already massive DNS & DPI packet logging & spoofing everywhere. You may not feel it yet because your government haven't enabled mandatory blacklists for sites yet but even for "freest of the free" all infrastructure is already there. A system that's designed for public convenience would not need those methods and they wouldn't even work in fully E2EE environment, other than identification and verification. Wouldn't solve the problem of criminalizing political dissent in the first place though. No technical solution would. Supposedly, that's why US has gun rights in its constitution. But guns don't rewrite anti-public laws for you either. |
what does it has to do with the original topic of this thread ? @v-fox you are a troll hijacking this thread |
It has to do with preserving Flash media and state of WWW's interactive media creation after Flash's abandonment more than your inane blabbering and pointless defeatist attitude are. And I would suggest to refrain from ad hominems unless you want to get acquainted with opinions about your own character and psychiatric well-being. But feel free to whine some more about how "everything is pointless" while I'll continue to run my archived Flash content in a fully open OS. |
We got as far as threatening for psychiatric assessment. Wonderful <3 |
If you allow me, I am going to steal this sentence in order to use it in other contexts. I love your prose. |
In 2006, at the same time Adobe released Flash Player v9.0 and Adobe AIR v1.0, they open sourced the ActionScript Virtual Machine 2 (AVM2) and donated the project to the Mozilla Foundation.
see
This project Tamarin was hosted on mercurial under 2 main branches
Later, after the project was not publicly updated anymore, Adobe moved the sources to a repository named avmplus on github
If Adobe wanted to open source the Flash Player, that AVM2 would be the first thing that would need to be open sourced, and so they already did.
If you look at the repositories, the bugzilla, etc. Adobe was very serious about it, they did not drop the sources and let other people deal with it, they assigned many developers and fully embraced the open source development cycle.
Out of this project only a little part (the NanoJIT got reused by Mozilla in Firefox), but mostly nobody else contributed any code ... for years.
In short, nobody really showed any interest.
As a very tiny open source dev I took on the Tamarin sources and around 2008
published another OSS project: Redtamarin
The goal was simple, reuse the goodness of AVM2 but develop the API side and if possible provide an open source implementation of the Flash API (as much as it makes sense for the CLI).
For close to 10 years, I had exactly zero contributors, especially around 2010 after a special letter of a special someone "WHAT? AS3 on the server-side? you crazy!!!"
Let's be clear I'm not complaining, I'm perfectly happy with my own little OSS project, it does scratch my own hitch, it even lead to interesting side project tools like as3shebang (yep running AS3 as shell scripts, I do admin a dozen Linux server with that).
But I still have a point, what make people think that getting the sources of the Flash Player will magically solve the problem ?
First, the project due to its cross-platform nature is kind of complex, go ahead get the avmplus sources and compile it, then compile it for the different CPU architectures, for different operating systems, it's a whole production.
Second, now imagine that the Flash Player sources are similar to the avmplus sources but probably twice as big and twice as complex, if not bigger than that. Unless you have a team working on it full time, it's unlikely you can publish anything from it.
Third, even if you have the sources, the contributors working on it, all the browser vendors plan to remove completely the support for plugins (they already killed NPAPI), how do you get users to install a plugin that cannot be installed anymore ?
imho you are trying to solve the wrong problem
The problem is not the Flash Player not being open sourced
The problem is the browsers not supporting the installation of plugin
A fork of Chromium/WebKit/Firefox to keep the support for plugin, even with a closed source Flash Player would have more chance to succeed.
The text was updated successfully, but these errors were encountered: