Main > Everything Else
A question for you IT and such folks who are business learned....
lilshawn:
I'd assume companies would be more in tune with the customer and be more diligent in creating products and services that are that which the customer wants.
RayB:
I'm going to sum up the original question as briefly as I can:
Non-profits like Mozilla (Firefox) are pushing to build up HTML5 and its successors as an open standard so that no one company has any control over such a vital part of an open web. Anything that requires JAVA (owned by Sun), or Flash (owned by Adobe), or non-standard html tags (*cough*damn-you-microsoft!*cough*) for example will eventually see some sort of standardized support via HTML. It's how you keep any one entity from "controlling" parts of the internet experience and requiring pricey patent license fees for example.
MonMotha:
To be clear, Java the LANGUAGE is a free to implement, relatively open standard. Android uses it (mostly) with a different compiler, VM, and some fairly drastic class library changes. For something roughly compatible with the "official" Java implementation (Sun's, now owned by Oracle), see also OpenJDK.
The reference implementation, which is the only thing many (usually somewhat poorly coded) applications and web applets are compatible with, is indeed owned by Sun/Oracle. Much of it was actually released as GPL, though, which makes those portions "true open source".
This is somewhat like the situation with .NET. The languages (C#, VB.NET, etc.) are free to implement, semi-open standards (the standard is published but controlled largely by a single entity, in this case Microsoft), as is the spec for the virtual machine in which the outputs run. The reference implementation (".NET CLR") is of course closed and owned by Microsoft, but open source implementations exist (Mono). The Java situation is perhaps a little nicer in that Sun GPL'd substantial parts of Java before being acquired by Oracle.
Note also that it has now been determined that you cannot copyright an API (see Oracle vs. Google). Hence any "clean" implementation of the Java API, such as Android, is legit, barring possible patents. I'm not sure whether this would also cover the ABI (which would extend then to the VM), and IANAL anyway. Note that this wasn't directly addressed in Oracle vs. Google since Android uses the Java language and API on a from-scratch VM (Dalvik).
Howard_Casto:
Well of course, but that's still fairly useless. I would give this example:
A compiled pc executable can be ran on anything, technically.... there isn't any liscense preventing it from running on linux, mac, or whatever. The problem is you'd have to completely emulate the closed source OS windows to do so. This has never actually been done with any measure of success before due to the extreme complexity. Even vmware runs a legit copy of windows virtually... it's simply too complex to do the whole thing from scratch.
Now yeah, java reference isn't nearly as complex, but it's still an issue, particularly on special purpose devices where a brand new implementation would have to be made from scratch due to extreme changes in the OS and special purpose hardware (see game consoles).
Android's java api will never be 100% complete for the simple fact that some of the code is still exclusive to Sun, and people who code in java go by the official version, not the crippled version released by android or whoever. I would equate this practice to when mame had multiple unofficial builds running around. Yeah some of them had cool features and for the most part they were identical, but if you were a driver developer, you wrote new drivers for the official build. Weather your favorite custom build got updated to include the driver depended a lot about who was maintaining it, and that's the problem.
That's the whole point of html5... to unify everything and say "this is what is going to be supported....deal with it".
MonMotha:
--- Quote from: Howard_Casto on December 31, 2012, 03:03:14 am ---Well of course, but that's still fairly useless. I would give this example:
A compiled pc executable can be ran on anything, technically.... there isn't any liscense preventing it from running on linux, mac, or whatever. The problem is you'd have to completely emulate the closed source OS windows to do so. This has never actually been done with any measure of success before due to the extreme complexity. Even vmware runs a legit copy of windows virtually... it's simply too complex to do the whole thing from scratch.
--- End quote ---
Have you looked at WINE recently? It's a surprisingly complete implementation of WIN32 on POSIX (which means Linux, BSD, commercial UNIX, etc.). Aside from stuff that's deliberately designed to bypass much of the OS and touch hardware directly (DRM systems for games are the most common culprits), most stuff works in it these days. Apparently my big honking ECAD package works, though I've not actually tried it myself. It does require that you install IE8 from MS, which is questionable license-wise.
--- Quote from: Howard_Casto on December 31, 2012, 03:03:14 am ---Now yeah, java reference isn't nearly as complex, but it's still an issue, particularly on special purpose devices where a brand new implementation would have to be made from scratch due to extreme changes in the OS and special purpose hardware (see game consoles).
Android's java api will never be 100% complete for the simple fact that some of the code is still exclusive to Sun, and people who code in java go by the official version, not the crippled version released by android or whoever. I would equate this practice to when mame had multiple unofficial builds running around. Yeah some of them had cool features and for the most part they were identical, but if you were a driver developer, you wrote new drivers for the official build. Weather your favorite custom build got updated to include the driver depended a lot about who was maintaining it, and that's the problem.
That's the whole point of html5... to unify everything and say "this is what is going to be supported....deal with it".
--- End quote ---
Android doesn't really purport to be "Java". It's "Java like". But yes, there are some pieces of Java that are closed-source. Same problem Windows has. The API is very open and documented, but the Sun/Oracle implementation is not. With time, other implementations could become "complete".
HTML5 will be similar. The API (the markup, ECMAscript, etc.) will be open specification, but some closed-source implementations are bound to exist (IE and Opera, at least, as well as the actual retail builds of Chrome and Safari albeit these are mostly open source rendering libraries). Java's open implementations just haven't matured or achieved the level of wide acceptance that various web browsers have. What's been weird in the W3/HTML world in the past has been what has been deemed the "reference implementation". For years, it was IE6 - to most everybody's long-term detriment - and before that Netscape Navigator (you'll note that every browser out there to this day claims to be Netscape in its UA string). This has obviously changed recently. With things like Java, there was a very clear reference implementation from the start.
Flash is a mess in this regard. The only viable implementation is Adobe's. The standard isn't really open at all, and everybody de-facto assumes that they need to be bug-compatible with the Adobe implementation as it really is the only option in town. Compare to Java and .NET where I've definitely seen commercial projects with stated requirements that they must run on OpenJDK or Mono.
Mind, I'm all for getting open standards widely adopted with multiple implementations deemed "equally important" and developers ensuring their products work on all of those implementations (ideally by being "strictly standards compliant"). That's a good chunk of why the Internet (underlying protocols, not the WWW) took off so well, and it ensures that we have constant innovation since no one vendor can stall progress.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version