Official reasons why Adobe doesn't open-source Flash
blogs.adobe.com
blogs.adobe.com
On 20 January 2009 Adobe announced it will publish the RTMP specification.
On 21 May 2009 Adobe filed a DMCA removal request on a Sourceforge-hosted
implementation of the protocol.
And now we are about to believe that: The Flash file format (SWF) specifications are open and unrestricted, so any
company - even Apple - can build their own Flash Player if they want. Also
freely available are related specifications for the Flash ecosystem: RTMP
FLV/F4V, AMF, and MCD.Or maybe you did, but their "Open at Adobe" moderator didn't approve it.:)
--
Hello Mr. McAllister,
I'm glad to hear that Adobe has opened as much as they have. That's the right direction; I'm glad you're doing it.
I'm a little concerned about your claim that anyone can implement SWF, RTMP, and so forth. Didn't Adobe issue a DMCA takedown when someone implemented RTMP?
Here's a copy of what appears to be the takedown notice: http://www.chillingeffects.org/anticircumvention/notice.cgi?...
I recognize that that the takedown notice says it was issued because the implementation "can be used to download copyrighted works," not because it's an implementation of RTMP. That's a silly argument-- every web browser that uses a Flash player downloads content before it plays it. How could one implement RTMP, the "Real-Time Messaging Protocol" without sending any messages?
I'm willing to believe that there might be some misunderstanding here-- maybe there are two parts to the RTMP spec, and only one is open, or something like that. But at the outset, I can't reconcile what you've written with the rest of the evidence that I see.
Perhaps you could explain what I'm missing?
Open my arse.
I just tweeted at him. Maybe it's caught in a spam trap or something.
http://blogs.adobe.com/jnack/2010/01/sympathy_for_the_devil....
Quote:
Your comment is extremely interesting because it
seems to be the first time Adobe has publicly acknowledged
that the real reason for that DMCA takedown was the
encryption scheme NOT *potential* copyright infringement.
Meaning that Adobe deliberately mis-used the DMCA and mis-led
the entire community about the real reasons for the takedown
right?It looks to me like some of the folks at Adobe are genuinely trying to be open, but others aren't, so it looks like the genuine folks are lying, since you can't tell who's really doing what. It's weird, because I don't see how Flash could possibly win in the long term without becoming completely open. (I do think a non-open option can win, but it doesn't look like it will be Flash.)
What's more they are constantly changing the handshake procedure in every point release. I wouldn't call that open either.
The main issue is that the spec says (5.4, page 10) that in C2 and S2 messages you send random bytes. If you do that only VP6 streaming will work but H.264 won't. You have to do a HMAC like digest on the "random bytes" and send it back so that H.264 works.
Of course all of this was reverse-engineered before the spec was released, but later with the release of Player version 10.0.32.18 it stopped working. So it had to be reverse-engineered again.
About that time I stopped working on a Flash Media Server (fortunately), so I just heard from my ex-colleagues that Adobe changed the handshake again with a new Player version.
EDIT: changed the link to a better one.
As I recall, the problem with rtmpdump wasn't that it implemented RTMP, but that it included ways to bypass the "security measures" that are built-in to RTMP. It was able to spoof all of the parameters that FMS uses to determine whether or not it should serve a stream, and would save a copy of the video to disk instead of just displaying it to the user.
What does he say:
* Standards are slow to innovate (i.e. we are better than HTML)
* We pay H.264 licence fees, and this is some big philanthropic gesture to the world.
* Flash is "open" (for values of "open" not widely recognised in the industry)
He points out that Apple could build their own Flash player from scratch. He doesn't realise that they neither want to nor need to go on such a wild goose chase as they have everything they need in the combination of native and HTML5. I think that would continue to be true even if Flash was properly opened.
Open Source folks have been reverse engineering Flash for years because they were worried they'd be shut out of the web. Adobe have only opened up now because the tipping point has past and they no longer have a position of strength.
Just like no web streaming fees for H.264 this is an admission of weakness. If Flash or H.264 was as far ahead of the competition as their respective fanboys claim then they'd be using that unassailable position to extract cold hard cash on the order of hundreds of millions of dollars.
This is what Adobe did for years on every platform apart from desktops and while it probably earned them a ton of cash it stunted the market and led to stagnation. They claim to have turned this around with the Open (there's that word again) Screen Project but it's all been talk for the last 2 years.
Adobe claimed that they don't ship Flash Players with any known crashing bugs. They had a great blog post and it made at least me feel that maybe it wasn't their fault. Then the evidence is presented that they not only ship with known crashing bugs, but neglect to fix them for years.
Now comes the argument that they aren't allowed to open-source Flash because some of it is non-free. However, madars has already pointed out that Adobe has taken legal action over the RTMP protocol (http://news.ycombinator.com/item?id=1107585) and, similarly (although a tad dated) Rob Savoye of the Gnash (GNU Flash) project has said:
The Adobe EULA for Flash forbids anyone who has installed their Flash tools or plugin from working on Flash technologies. This has had a chilling effect on the development of free Flash players, since a developer must either choose to decide that Adobe won't sue them over this, or to do what Gnash does, which is a slow and inefficient, clean room, reverse engineering project.
Adobe has declined to comment on this issue, since the confusion benefits their lockin of the market. Although Adobe has said they support Open Source projects, and donated Tamarin to Mozilla, we'd love to see a public statement that Gnash developers won't be subject to a lawsuit. It's very difficult to find developers that have never installed the Adobe software ever, which is what we've been doing to maintain our clean room approach.
(http://www.gnashdev.org/?q=node/30)
Adobe's hasn't been given a lot of hassle over Flash for a long time. We've kind of accepted that it was free as in beer, ran on Linux (if poorly), etc. Now we're seeing that Flash could become the barrier to HTML5 and we're finally re-evaluating Adobe's patronage. We've found out that we don't want to be Adobe's ward - protected, well-fed, etc. We want to be able to live and innovate for ourselves.
Kids -- by which I mean anybody under 18 -- cannot enter into contracts. An Adobe EULA cannot be enforced against somebody so young. In lawyer-speak the EULA is "voidable" (as opposed to "void").
So all you'd need do is hire 'em young and make sure they don't agree to anything once they turn 18.
IANAL, do this at your own risk, yada-yada-yada.
Bullshit. Why don't you open source everything else then ?
Probably because the codebase is a steaming pile of crap.
The subhead of this blog states: Please note that opinions expressed within are mine and do not necessarily reflect those of Adobe.
The person writing it is Director of Open Source and Standards (OSS) at Adobe, its an official comment.
1) Resolve the licensing issue and transfer ownership of the Flash player code to the community, and do that quickly. This, with plenty of cooperation with the community, could mean that Flash development is taken over by the community, and it may even be integrated into HTML5 in some way.
2) Rebuild their culture to be competitive. Reported, documented, reproducible crash bugs hanging around for years are inexcusable, for any reason. The main reason I see for this is their slow culture that allows long release cycle and a "we'll fix it in the next release" attitude.
I suspect the second one is far harder to fix, so my recommendation would be for the first one.
Some things are truly impossible (change the taste of the colour purple), some are technically impossible (fly by flapping your wings), and some are just impossible due to disagreements between people (release an open-source implementation of a closed codec).
If you can resolve the first, you're God. If you can resolve the second, you're a technological visionary. If you can resolve the third, you're a good politician. Only the first category can be really considered impossible to achieve. Resolving licensing issues with H.264 is hardly impossible in that respect.
You can't just throw around the word "resolve" things without understanding the complexity or nature of the possible solutions.
As a former management consultant, and now a start-up founder, believe me, I speak from experience when I say every problem of this kind is solvable if you want to do it badly enough.
The other stuff that I can think of is that they can use Ogg Theora, which is hardly a solution, considering (IMO) it is an inferior codec.
As the discussion around H.264/Theora etc has heated up I've started wondering about this. There are now at least 3 rather large players with relatively deep pockets that all have licensed h.264 for products they essentially give away. So what if Google, Apple, and Adobe all pooled together and purchased the patents for h.264 and licensed it for free (or possibly a free non-commercial license, and force any other big players using it to chip in). I wonder what the price tag on that would be.
That's half a trillion dollars in a year, and that's not even counting revenue they get from MPEG-4 or the audio codecs.
I stopped responding to this guy because his points are worthless. I'd rather the space on this page was used up by intelligent discussion rather than needless debate over a concept that is obvious to anyone who actually does any kind of ambiguous, difficult work (e.g. running a start-up, being a consultant, and generally being anything more than an employee who takes orders).
Please don't force me to waste space and energy arguing this stupid point.
"How do we fix this problem?" "Well, all problems can be fixed by fixing the problem." "Ok, so how do we do that?" "Simple, fix the problem." "Right."
Here are a few possible solutions, though, off the top of my head right now - I'm sure someone closer to the problem could find more, better potential solutions:
1) Release the player code without the codecs.
2) Obtain a special license from the people that own H.264 to be allowed to release the source code.
3) Get some kind of agreement that the owners of H.264 won't sue Adobe and release the source code.
4) Do so without getting the agreement - maybe they won't sue.
5) Transmit ownership of the code to a different legal entity and release the code via that entity.
6) Slowly migrate to a new codec that can be released (e.g. Ogg).
7) Release the code with Ogg support without the H.264 part.
8) Buy the code patent.
9) Start a public relations campaign to convince the owners to open up H.264 for everyone.
10) Start a public relations campaign to convince the courts to overturn H.264 (say, on grounds that it harms the public good).
That's just off the top of my head. Yes, they all have problems, but they're all starting points - and there's no evidence that Adobe explored any of those or any others. If you can't think of twice as many potential solutions, your brain is effectively the size of a pea when it comes to creative problem-solving.
And if "management-speak" language stops you from understanding a good point, you're a fucking retard.
Downvote away.
Of them all, #1 (the "plug your codec here") is the easiest. h.264 is not even protected in the whole world, so, those who can will enjoy it and those who don't will, perhaps, lobby their representatives.
#6 is also nice because with sufficient funding, Ogg can become a decent option and everyone would benefit.
What do you mean by "they don't own H.264"? What does "H.264" mean in your sentence? H.264 is a standard that defines how to decode an elementary video stream. You can't "own it". You can own rights to an implementation — but that's where things get interesting.
There are many H.264 decoders, some of which are open source and could be used by Adobe. So their argument is rather weak.
Well sure you can... you can patent it. In that case, making use of even an F/OSS implementation (such as x264) doesn't guarantee that you have not infringed upon MPEG LA's patents (where they are applicable/enforced).
Flash has tremendous market penetration and is in very wide use. On the strength of that, I don't think Adobe's choices are constrained just to what bloggers, HN posters or even Steve Jobs say.
I'm not a great fan myself (other than when sinking hours into the latest Tower Defense game), FlashBlock is among the first things I download on a fresh install of Firefox but the notion that Flash is somehow teetering on the precipice of oblivion is fanciful, to put it very mildly.
But still I think FlashPlayer/GoogleTalk can be open sourced, just leave the proprietary module as a stub, just like the Chromium without H.264 and Bookmark Sync.
I would like, of course, to run it on an IBM /360, or, if that were not possible, an emulator. You would access it via your own 3270 terminal. It would be made to look specially cool on 3290s - wouldn't be hard: anything looks cool on a 3290. I would develop it while wearing a white lab coat.
A Burroughs B-series would also be considered ;-)
Now, seriously, no. I wouldn't start a new product (I can conceive lots of maintenance projects done in whatever was already done to maintain code commonality) in COBOL.
And yes, you would have a hard time convincing me of starting one in Java too. I cringe even when someone proposes one in PHP.
The only reason Adobe can't open their code is lack of effort.
The blend modes are not specified there. Two of those are strange, flash specific ones that you have to reverse engineer, but the others are similar to PDF.
"Adobe seriously considers all feedback to the SWF file format specification. E-mail any unclear or potentially erroneous information within the specification to Adobe at flashformat@adobe.com."
Has already someone asked for clarification of these details? I ask because the answer would state a lot about Adobe's relation to open specifications.
It seems to me that development for prototyping and proof of concept is cheaper and quicker in Flash/Flex and is still usable by a massive portion of internet users, even if it will not be in the future.