Hacker News new | past | comments | ask | show | jobs | submit login
Official reasons why Adobe doesn't open-source Flash (adobe.com)
98 points by swombat on Feb 7, 2010 | hide | past | favorite | 64 comments



From Wikipedia:

    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.


While it's true that since then Adobe published the RTMP specification, but they left out the description of the handshake procedure, without it cannot be called full and open.

What's more they are constantly changing the handshake procedure in every point release. I wouldn't call that open either.


Is there a good link on more information about this?


Here is a thread from the Red5 mailinglist: http://osflash.org/pipermail/red5_osflash.org/2009-August/03...

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.


Most people that are using RTMP are using it to serve static files that they want to make harder to copy than downloading an FLV file.

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.


sounds perfectly fine to do if the spec is actually open.


Post this info in a reply on that blog entry plz.

Or maybe you did, but their "Open at Adobe" moderator didn't approve it.:)


I've just submitted this comment (we'll see if it gets posted):

--

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?


Utterly uber-lame that no comments get posted on an article about how Adobe is being open.

Open my arse.


Well, it is Sunday morning. I'm not checking for comments on my work blog either.


I now agree. Judging by his Twitter account, Dave McAllister has been awake for at least 3 hours this fine Monday morning. My comment does not appear on his blog yet.

I just tweeted at him. Maybe it's caught in a spam trap or something.


Highly doubtful if Adobe will ever come out with a clear answer, meanwhile - wanted to point you to this comment exchange on another Adobe blog:

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?


Thanks for that. It seems like Adobe could actually refute the accusation pretty well if they wanted to. My impression from the exchange you link to is that Mr. Nack (the Adobe guy) has a point, but I can't say that I understand it, since he's only written a couple of sentences.

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.)


They really are beginning to sound like a whining child trying desperately to get it's own way now, and all because Apple doesn't want anything interfering with their app store cash cow.


That's not a list of reasons, it's just repeating the standard Adobe talking points (which from the manner and number of times they do it must be a corporate policy of some sort).

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.


I think Adobe is trying to negate a lot of bad press that they're getting in the techie community. It started with Jobs/Apple saying that they crash a lot and continued with all of our old complaints being dredged up.

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.


It's very difficult to find developers that have never installed the Adobe software ever

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.


"The main reason we can't release Flash Player as open source is because there is technology in the Player that we don't own".

Bullshit. Why don't you open source everything else then ?


Yeah, the reasoning is pretty thin here, which is really somewhat insulting. Listen Adobe, it's okay to say "we would like to make money from our code base and must keep it proprietary"... in fact I'd prefer if you'd said that rather than make up a plain-old lie.


"Why don't you open source everything else then ?"

Probably because the codebase is a steaming pile of crap.


"Official reasons" ???

The subhead of this blog states: Please note that opinions expressed within are mine and do not necessarily reflect those of Adobe.


The blog is at http://blogs.adobe.com and called "Open at Adobe".

The person writing it is Director of Open Source and Standards (OSS) at Adobe, its an official comment.


Perhaps they should amend their disclaimer to say "but it does not NOT necessarily represent the views of Adobe either."


For what it's worth, I think Adobe has two paths in front of it:

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.


What do you mean by "Resolve the licensing issue"? They don't own H.264, how do you want them to "resolve" something they don't own?


Problems can always be resolved.

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.


What do you _mean_ by "resolving"? You want adobe to buy H.264 and give it away for free? That's pretty much impossible.

You can't just throw around the word "resolve" things without understanding the complexity or nature of the possible solutions.


I mean "do 'stuff' that makes the problem 'go away'".

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.


There is only "one stuff" they can do to make the problem go away (in your words "resolving licensing issues"), which is, they can buy H.264 and give it away for free (open source it), which is impossible without making themselves bankrupt.

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.


they can buy H.264 and give it away for free (open source it), which is impossible without making themselves bankrupt.

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.


I can't believe this number is correct, but one of the Xiph guys claimed that the MPEG 2 patents (i.e. DVDs), which are all still in force and built on top of for MPEG-4 part2 and part 10 (i.e H.264) took in $67 dollars for every person on the planet in 2008.

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.


"There is only one way to do X" = the way narrow-minded, uncreative people see the world.


They could just wait 18 years - that's one feasible option. I'd suppose it wouldn't benefit them greatly though.


What's with the group downvotes, folks?

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.


It doesn't surprise me you were a management consultant. You're getting downvotes for repeating simplistic abstracts, without suggesting anything close to a reasonable course of action.

"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."


Ultimately, every solution I propose will have issues. This is why I did not outline a specific solution. Because they're all stupid until one of them becomes the right one because of specific circumstances, people, etc. That is the nature of difficult problem-solving. If it was easy, people like you might be able to do it.

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.


It's amazing this discussion took that long to enumerate those simple possible, not all of them viable, solutions.

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.


Yup, george_morgan is right, you were being downvoted for using abstract corporate language to solve real problems. In a forum like this, most of us have heard it before: "We'll resolve this by applying creativity and resourcefulness." "But how exactly?" "We're going to give it our all, and it will work out!" As engineers, we're the ones who actually do the resolving, and we like to apply concrete, tenable options to problems.


It always annoys me when people talk about "stuff" without thinking for a moment what the "stuff" actually is.

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.


"You can't "own it"."

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).


I assume they could keep the part that decode H.264 closed source, or other creative solution.


or use ogg ?


Presumably they are already paying for H.264 in flash anyway; why would they stop after open sourcing it?


Hang on, rebuild their culture to be competitive? Whatever the merits of Flash, it competes in the open market with HTML 5, SVG, Silverlight, Java [FX], you name it. Having somebody decide for you what you can and you can't run on your own device seems a lot more anti-competitive.

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.


As someone who programs in ActionScript very often and makes heavy use out of RTMP, I'm very well aware of Flash's shortcomings and how quickly they would be fixed if it were more open. However, I really wish discussions like this weren't full of so much empty talk. If you don't like Flash, don't use it. Uninstall the Flash player and leave it all behind. Fact is, they have succeeded in getting a proprietary and commerically-trusted video codec available for the masses. If you think that is such a small feat, or such an insignficant reason to keep it closed, I challenge you to do better. If a lot of people really didn't like Flash and actually didn't something about it, Adobe would get the message REAL quick.


I think the HTML5 people are doing just that, and I think this string of blog posts Adobe is pushing out is the reaction. I think the bigger problem is that Adobe Flash team and certain Adobe executives are not quite dealing with what their customers are telling them in a mature way or totally truthful way. This tends to annoy people.


I got a similar response on why Google Talk's standalone Win32 client can not be open sourced: because there's a GlobalIPSound module in it.

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.


Like Sun and Java, I think Adobe will eventually open source but when they finally do it, it will be too little too late.


I think Java developers everywhere were happy that Sun opened up Java, but does anyone think it was a good business decision?


Why not? The JRE was a free download for end users anyway, and open-sourcing it removed a large source of bad press. If Java was open-sourced earlier, it might have seen more adoption by hackers, and innovation. Now, it's an "enterprise" language, which basically means it has entered the "legacy" stage of its lifetime, and will go the way of COBOL in under 10 years.


Well... COBOL and Fortran have been going the dinossaur way for far more than 10 years and show no sign of disappearing...


Yes, but would you start a new project in COBOL today?


That's a silly question. I am a computer conservationist proud of a growing computer collection. Of course I would, just for the kick of it!

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.


That seemed to be the case with Netscape, but I hear Mozilla has gained some market share lately.


Although Flash is very popular today, if Adobe don't open source their format then it will be superseded by others. To me the arguments for not going open source given by Adobe seem weak and unconvincing.


The Flash (SWF) format is open (or, so Adobe says)... But their software isn't.


Their flash specification is not complete.

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.


On http://www.adobe.com/devnet/swf/ you can read:

"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.


Even Real [Networks] figured out how open source the majority of their code base while retaining support for closed technologies such as h.264.

The only reason Adobe can't open their code is lack of effort.


Just put the h.264 code in a directory that is in a closed repository. Why is that soo hard? I don't believe the h.264 license limits the exposure of your internal api.


ahh and the chrome/chromium browser has done just that so it is not even novelty.


I'm surprised that no one is concerned that open sourcing Flash would be dangerous. Flash is installed on some 95% of machines, or so I read. If they open source Flash and allow everyone the ability to find the holes, we'll have a flood of exploits that affect everyone. I thank Adobe for keeping their implementation of Flash closed source.


What are peoples views here on using Flash for rich internet applications? In particular, what do you think are the benefits of using Flash/Flex?

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.


HTML5 doesn't really have good software developer support in the way Flash does. I am waiting for some small software company to do a designer's tool for HTML5.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: