« The new video | Main | Microsoft Robotics Studio »
December 13, 2006
'Open' requires what?
'Open' requires what? I'm linking again to that brief conversation between Nat Torkington, Tim O'Reilly, and David Mendels, but on a different subject in there, particularly this line from Nat: "Another level has this as a standards vs proprietary battle: Flash is not open, despite the open sourcing of the Flash engine. It's a product owned by a company and developed for commercial gain." David responds with a paragraph about how the new Adobe technologies are built with, and are accessible to, things called "free open standards". But I'm curious what you think Adobe might have to do to have fewer people say "flash is not open". Would it require sourcecode release of the Adobe Flash Player, or to have all technical improvements first be drafted up as specs in cross-company committees, or for Adobe to dissolve as a business corporation, what would it take? Got thoughts on what would turn "flash is not open" to "flash is open", or at least "i like open and i like flash"? Thanks in advance for any opinions, ideas on this.
Sidenote: The quote I pulled from Nat's essay included "the open sourcing of the Flash engine", which is not the best way to describe things. Adobe donated sourcecode from the high-performance ECMAScript processing engine used within Adobe Flash Player to the Mozilla Foundation (FAQ). Upcoming versions of the Adobe Flash Player may use improvements to this code, developed via opensource efforts. But the full Adobe Flash Player includes much functionality beyond its script-processing engine, and Adobe still decides on code used within future versions of the Player.
Here's the section from David Mendels which got me thinking:
We are pursuing a much more standards oriented, open source, cross-platform, and hardware agnostic approach than Vista/WPF. Apollo is built on the truly open surce Tamarin engine and WebKit. The programming model is based the ECMAScript Standard. The PDF and SWF file formats are published and widely implemented by multiple vendors. (BTW, PDF/A is an actual ISO standard, not just a de-facto standard). Flex/MXML is just an XML abstraction on top of ECMAScript, and uses standard CSS for stying. We leverage standard XML over HTTP, standard WebServervices, etc. You will be able to build and deploy Apollo applications with any text editor, standard XHTML and JavaScript, and/or our Free Flex SDK and or PDF creation technologies free or commercial from hundreds of vendors/sources. So while we haven't open sourced every technology in Apollo, in many other aspects we leverage "standards", and either way we have fully open and free paths to developing and deploying applications.
Update: Many of the initial comments below emphasize "what *I* want", but I don't think Nat Torkington even knows what AMF is, much less base his labels on it. I'm looking for the understandings of the general public here, not just your own personal understandings or desires, thanks.
Posted by JohnDowdell at December 13, 2006 06:32 AM
Trackback Pings
TrackBack URL for this entry:
http://weblogs.macromedia.com/mtadmin/mt-tb.cgi/8160
Comments
JD, how about starting with openning up the protocols: AMF and RTMP to begin with. Then if you REALLY want to show the world that Flash is open, then put the specs for formats like FLA, SWF and FLV forward in a true open way. I am sure anyone visiting this page: http://www.adobe.com/licensing/developer/ understands that there are 6 digit figures involved to get those things licensed. That certainly does not help the openness mantra. From the vendor independence perspective it would certainly help to get other significant players on the spec author list. And as for the source code, no it is not needed, but would support the vision.
Cheers,
Mark
[jd sez: So, I'm hearing this as "adobe must abandon all licensing models" and/or "must never use patented technologies from others", is that an accurate understanding?]
Posted by: Mark Piller at December 13, 2006 07:24 AM
I love open source stuff, and have contributed my fair share to the OS Flash community. Unfortunately, for some Open Source becomes a religion. Anything not open source is inherently evil. I think the level of Adobe's openness is incredible, particularly compared to where Adobe or even Macromedia was pre-merger. I think the community should acknowledge it and encourage more, rather than complaining that it's not "open enough".
Posted by: Keith Peters at December 13, 2006 07:37 AM
JD,
There is no doubt in my mind that the majority of the standards trumpeters have the least understanding of what standards are and why they are important. Consider this excerpt from the artice. It is the conclusion:
"I think of this as the battle of Greek legends: will Apollo, Ajax, or Atlas take on the Sun for conquest of the earth and sky? I don't know who will win, though I back open standards from an innate faith in good triumphing, but I do know that it will be interesting to watch unfold."
Ok, well this conclusion leads me to believe that the author had very limited understanding of what the topic is here:
Apollo - Desktop Application Runtime that supports SWF, AJAX (and all related technologies), and PDF.
AJAX - An acronym that encompasses the usage of Javascript and asynchronous calls for data
ATLAS - Microsoft's AJAX framework.
None of the technologies mentioned here are in competition. As a matter of fact, they will all inter operate with each other. I am guessing that Apollo vs WPF is what this conversation was really supposed to be about.
So if a misunderstanding of core technologies like this is made, it makes total sense that the author doesn't really understand what a standard is, vs what an implementation or facilitation of a standard is.
The proof will be in the pudding though. Most of these people are basing assumptions on technologies they have not seen, or barely understand. When all of this new technology sees the light of day, I am confident that the world on mass will start to realize that these are tools being designed to allow them to do something great with these standards that they have so much innate faith in.
Posted by: Tony MacDonell at December 13, 2006 07:49 AM
Another Quote:
"Were the desktop to tip in Apolllo's favour, Adobe would be in a position similar to that of Microsoft today. Microsoft's extensions to the web are comparable to Adobe's--they're similarly proprietary and a point of control and exclusivity. Fans of open standards must hope that Microsoft and Adobe annihilate each other, leaving XHTML and CSS as the last technology standing on the smoking ruins of the desktop. Together they must repopulate the web sites and ... no, wait, that was a movie on the scifi channel. Back to the battle."
lame........
The XHTML and CSS that will arise from the ashes...? What will it arise into? Back to the Browser perhaps? Is this the same XHTML and CSS that was being used to develop Apollo apps?
Come on, lame article, little understanding...
Posted by: Tony MacDonell at December 13, 2006 07:54 AM
I agree with Keith. There are purist, they say manythings even though they don't understand what it means.
They want to see things their way even when there is no need.
I love OpenSource stuff and I also love Flash Platform, I never thought if I had source code what would have I done? Adobe (Macromedia) has been dedicated to improve this platform and I can see more efforts now. I would like to see atleast three points, how open-sourcing entire Flash Player would make things better?
-abdul
Posted by: Abdul Qabiz at December 13, 2006 09:12 AM
>> jd sez: So, I'm hearing this as "adobe must
>> abandon all licensing models"
If licensing Flash Player is ALL you got, then you're really in trouble. Both you and I know this is not the case. So no, JD, you do not need to abandon ALL licensing models. True openness cannot exist with closely locked up technologies in its core.
Posted by: Mark Piller at December 13, 2006 09:16 AM
"Open," despite the comments here, is not a hard concept to grasp. Make the Flash IDE and Player source code available under the GPL, either GPL v2 or (when it's finished) v3.
Of course, as the posts here make clear, this would utterly cripple Adobe, which would then be forced to struggle forward solely on the revenues from Photoshop, Illustrator, InDesign, After Effects, Premiere, Dreamweaver, and three dozen other products. Really, the idea is senseless.
Posted by: Allen Varney at December 13, 2006 09:58 AM
Why on earth should the Flash Player be open sourced? All hell would break lose - a gazillion incompatible players that cannot be supported by anyone anymore. Consistent playback is what makes the Flash Player usable.
Just look how hard it is to get the one player to run reliably across different *nix distros. No, even I as a Flash Developer would not want this to happen. Adobe have put a lot of effort and money into getting Flash to where it is now and it pays my bills thank you very much.
Open source for the sake of it is nonsense. But yes, +1 on the open sourcing of AMF and RTMP (actually make it +2 on that), that would actually result in some desirable benefits for the Flash community.
Posted by: Stefan Richter at December 13, 2006 11:34 AM
"But yes, +1 on the open sourcing of AMF and RTMP (actually make it +2 on that), that would actually result in some desirable benefits for the Flash community."
Maybe I do not understand the ins and outs of licensing but isn't AMFPHP open-source, using AMF, and freely available to anyone? I know I use it. And haven't paid the first license fee for it. I guess AMFPHP hasn't either? Are they/we breaking the law? Will open-sourcing AMF make any difference?
Posted by: mauricio giraldo at December 13, 2006 11:58 AM
Well JD theres your answer, just give it all away for absolutely free, so we can all check our swf's against 34 different Flash Player builds for everything we make.
[jd sez: uh-oh, lemme think about that.... ;-) ]
Posted by: tcs at December 13, 2006 12:57 PM
The question was, "What [do] you think Adobe might have to do to have fewer people say 'Flash is not open'?" I clarified this head-scratching, deeply mysterious issue, to wit: "Open it." Whether or not this is good for the Flash community, or whether it would unleash the terrible chaos (ahem) we currently see in, for instance, Apache or Firefox or Python or HTML, is not the point of the question.
Posted by: Allen Varney at December 13, 2006 01:47 PM
it was only after reading the linked-to article that i really understood your question. i think the key phrase was this: "Fans of open standards must hope that Microsoft and Adobe annihilate each other, leaving XHTML and CSS as the last technology standing on the smoking ruins of the desktop." in other words, what makes XHTML and CSS more "open" (and therefore "preferable") than SWF? certainly SWF can already be read and written by many open source tools...
i might guess that it's the closed nature of the playback. the SWF file format specification says: "This license does not permit the usage of the specification to create software which supports SWF file playback." of course, others have argued above that it's this "closedness" that allows for the consistent playback of SWF content across all supported platforms (contrast with the varied display of XHTML/CSS across platforms).
then again, if you're not on a supported platform, you're basically out of luck, whereas in theory "anyone" could build a XHTML/CSS browser on any platform that might crop up in the future. i point to the linux/ppc folks (and 64-bit linux, etc) who are stuck without a flash player at all, and they cannot do anything about it except email adobe about it...
if this indeed is the main issue, then what solutions might exist to help 'open' the player up a little without necessarily opening up the entire source code? for example, is it possible to build the flash player in such a way that third parties could freely write open "drivers" that connect the core player with the underlying platform (sound, video, memory, disk, network, etc??), so as to speed adobe's support of other platforms? i wonder if that would be "open" enough (and i'm sure it's no trivial task). i don't know... just freestyling here :)
apologies for the lack of focus of this comment! :P just throwing ideas around...
[jd sez: I hear you, thanks (and to the above comments too). I agree that the Adobe engines can currently provide for most, but not all, computing environments. It's interesting that you mention opening driver APIs -- this was just done a little while ago for Linux (Tinic Uro). People I see inside Adobe want to reach a wide range of audiences too.]
Posted by: bunnyhero at December 13, 2006 02:16 PM
I must say that a common thread among the "Open Source" community is the value vs. price debate. The price is right for programs like OpenOffice, Linux, etc...and they have great value. However, an ordinary person wanting to communicate using good digital tools (example: Adobe products), require a $700-$1000 price tag for starters. Then the next version comes out, the next, then the next, then...costs like these and profits in the billions naturally help a person to think, "they're stingy". But what the hell, its America! If we have something good we can rake people over the coals and we too can become monolithic giants, stomping out any possible competition.
Sound like someone familiar?
Having said that, Adobe's products do have good value. I don't wish to see either M$ or Adobe "annihilated", rather I'd appreciate it if some of the profits were rolled back into the community as "lower prices"--especially on upgrades.
Posted by: mshep at December 13, 2006 09:09 PM
bunnyhero said: "i point to the linux/ppc folks (and 64-bit linux, etc) who are stuck without a flash player at all, and they cannot do anything about it except email adobe about it..."
Flash 9 works great on 64-bit Linux
The whole "open up Flash" thing is becoming a very hot topic. Most people building Flash based apps do not think that Open Source is the right route because they don't want the platform to fragment. However, most people also do not like it that Flash is tied to a single vendor's business / monetization strategy. I've heard many people suggest that a standards / governance board would be the right solution so that you preserve the both of those opposing desires in some way. I've also heard some comments about how exactly as a software industry we can have a more Agile approach to the polar opposites: innovation and standardization. It's interesting that XHR (the foundation of Ajax) was added as a proprietary extension to IE. Then Mozilla added it. Now it's being standardized. This all is definitely a great conversation to be having. Thanks JD!
Posted by: James Ward at December 15, 2006 03:56 PM
I call bs on the fragmentation argument, at least as a definitive negative. Eclipse is exhibit number one for open source implemenation as standard.
[jd sez: Just checking... when you say "fragmentation argument", are you talking about choice on your own machine (Eclipse, eg), or talking about something like fragmentation of the predictable capabilities of Adobe Flash Player on the rest of the world's machines? There's a significant difference between the two dynamics. Or were you referring to something else here...?]
Posted by: James Governor at December 19, 2006 07:01 AM
Hi, JD. For Apollo to be open, I'd say (1) every software component and associated IP should be open sourced, and (2) Adobe removed from the critical path of development governance (e.g., turn it over to Apache, Eclipse, Mozilla Foundations). I arrive at these by asking myself, "what would it take for Apollo to be neutral rather than proprietary?"
Proprietary platforms have a chequered history. Once the company managing the platform gets into trouble, it struggles to resist the temptation to use the platform as leverage, a competitive weapon, a means to control users, partners, or competition. Then it's no long doing what's in the users' interests. In general such behaviour is punished in the marketplace, but it takes time. In the meantime, the users, partners, and industry as a whole suffer.
The point of free software, and this goes back to the first essays of Richard Stallman and the Free Software Foundation, is not to have the software you run be at the mercy of someone else's short-sighted behaviour.
Fragmentation, as James Governor said, is a bogus argument. Is there a major open source project that has fragmented and died? Open source means replacing the development and governance processes of a bottom-line-driven company with processes that permit open participation and don't faovur one group of developers over another.
You're right: the Flash Javascript processing engine isn't really relevant. Apollo is a desktop application platform that'll run on phones, desktop computers, and other devices. It removes the web browser from the web application. As such, it's open to the same exploitation as web browsers and platforms in general (cram in proprietary stuff that only the company's related commercial software is allowed to work with).
I'm not saying Adobe have plans to do this--it's still in the early idealistic stage. But history has shown that ceding control of your platform to others is dangerous. When I talk about openness, that's what I'm talking about.
I hope this clarification helps. It's been fascinating reading your comments and those of your readers--I wish I'd found this post sooner!
Posted by: Nat Torkington at January 10, 2007 08:10 PM
Thanks Nat... I'm trying to boil things down to an elevator pitch, though...
From your second paragraph I hear "Any initiative whose scope is not first determined by some type of cross-industry panel will never be acceptable", is that an accurate understanding?
"Fragmentation, as James Governor said, is a bogus argument."
Whoa... are you saying you don't understand how others value the ability to perform predictability on Other Peoples Machines?
"Is there a major open source project that has fragmented and died?"
VRML was one of the first obvious casualities of clientside incompatibilities. HTML has been stunted and slowed for years (PNG transparency is the posterchild). Forking is attributed as a leading cause of the lack of adoption of clientside Java. SVG has many conflicting implementations. MathML, SMIL... all are specs, many of which attracted some "opensource" attention, none of which succeeded at providing a predictable clientside capability.
Are we really so far apart on recognizing such history...? What you install on your own machine, but getting everyone else to provide known and predictable services on their own varied machines is an entirely separate problem altogether.
(Me, I don't think I'm getting traction on this "'Open' requires what?" thread, because the conversation stays discursive, doesn't refactor to discrete items I can evangelize internally. I've been thinking of starting a new thread "Not 'not open' requires what?", to focus on getting out from the categorical dismissal whenever that label "not open" is applied.)
tx, jd
Posted by: John Dowdell at January 10, 2007 08:48 PM