Why Open APIs Fall Far Short of Open Source 163
itwbennett writes "451 Group analyst Jay Lyman opined in a LinuxInsider column that because of open APIs, 'non-open source software is often open enough.' Not so, says ITworld blogger Brian Proffitt. Sure, open APIs are an easy way for a small developer to 'plug into a big software ecosystem,' but it's a trap. 'If open APIs are the only connector to a software project, the destiny of that code lies solely in the hands of the owners,' says Proffitt. 'Which means that anyone connecting into the application will have to deal with the changes imposed from the top down.'"
Google (Score:4, Insightful)
Google is an expert at this. Convincing people that their open apis are the same as open source. They have and will never opensource their revenue generating products. They themselves don't believe in the open source economic model.
Re: (Score:3)
They have and will never opensource their revenue generating products.
Of course not, how are they going to make money otherwise?
They themselves don't believe in the open source economic model.
errr...Android? That's open source and generates revenue through their ad network.
Re: (Score:2)
You need to read the whole sentence. The OS isn't the revenue generating part of Android. The hardware is. The other Google services are. The open source OS is just the way they get their product (you) and their paying customer (also you but third parties who want your eyeballs) in the door.
Re:Google (Score:5, Insightful)
You need to read the whole sentence. The OS isn't the revenue generating part of Android. The hardware is. The other Google services are. The open source OS is just the way they get their product (you) and their paying customer (also you but third parties who want your eyeballs) in the door.
You need to read the whole sentence:
That's open source and generates revenue through their ad network.
As you can see i noted the way in which the Android open source software is funded by a profit model that doesn't require the software to be closed, which is very much the open source economic model, which is what i replied to:
They themselves don't believe in the open source economic model.
Re: (Score:3)
and btw, all this bullshit about advertising doesn't mean that android itself isn't open source... android IS open source, regardless of advertising revenue
Re: (Score:3)
Are you a fucking moron? Read your own sentence. "...revenue through their ad network"
Are you a fucking moron? 'revenue through their ad network', how hard is that to understand? You have that much difficulty with something so simple?
Re: (Score:2)
The OS isn't the *direct* revenue part of Android. People don't think they are paying for the OS. However, without the OS you would have hardware with nothing running on it. Just because they don't charge for the Linux or Java (customized versions of which compromise the marketing name, "Android") doesn't mean they don't have value to Google. The OS is very valuable to Google, without an OS they would not make money on this product. Please don't conf
Re: (Score:2)
It is funny. We agree on all the facts but disagree with the interpretation. I view it as the "loss leader", you view it as part of the whole. Perhaps we simply are viewing the two sides of the same coin. What I won't budge from, however, is that true to the OP, Google will not give away its crown jewels through open sourcing.
Re: (Score:2)
Re: (Score:2)
Google's revenue generating products consist of the service-providing application that runs on Google infrastructure: their data store, indexing, replication, load balancing, configuration/deployment, maintenance front-end, etc. Open sourcing a random Google service would be quite useless: without the infrastructure you couldn't even run the darn thing. You'd have to spend a lot of time implementing at least skeleton functionality of the various back-ends just to run it. And then it'd still be an unscalable
Re: (Score:2)
Re: (Score:2)
No, we mustn't assume anything, because TFA (the one who claims open APIs are "open enough") links the term to the Wikipedia page with a definition of open source.
Re: (Score:2)
Re: (Score:2)
Yes you can adjust an open source app. But really are you going to maintain a fork for a minor to moderate change. For the most part you use the parents software API and you deal with it. If the upgrade breaks what you have your gonna choose to stay with the old version or upgrade and fix your code.
Really this is just a rant from open source zealots to exaggerate minor trade offs of the models of software.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
OpenAPI doesn't always imply that the original component the API abstracts is available - it's usually the opposite, as OpenAPI typically refers to APIs mediated by remote procedure calls. So if the upgrade breaks your software, you don't get to choose the old version, you have to live with it, even if the changes remove features that your application cannot function without.
It's easy to see how this might be exploited
* BigCorp witnesses success of LittleCorp's "SuperThing" project which is based on their B
Re:Google (Score:5, Funny)
Re:Google (Score:5, Insightful)
The OS isn't where they make their money off this product. Being the open source alternative gives them a good market position, but their money is made from selling the hardware and tying it into the other Google services. Think of the OS as the loss leader that gets you in their store.
Re:Google (Score:4, Informative)
Their top revenue generator is their adds and second indirectly their search engine. Neither of which I'd ever expect for them to open.
Re:Google (Score:4, Informative)
100% agreed. Call it a "loss leader' or the price of doing business, but the OS certainly is not their revenue generator. Amazing how many smart people don't understand how companies make their money.
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
That's the true ideal behind OSS though. At the end of the day, the objective of any OSS that is going to be successful needs to be to make money to pay development teams. This works because the software itself is a loss leader to support or some other marketable service. This is no different from what Google is doing with Android. They front the development and on official distributions they add their ad supported services to give them an income stream. It is perfectly allowed to bypass their revenue
Re: (Score:3, Insightful)
Re: (Score:2)
That is because they have a positive IQ.
Is that what they say now days? "Positive IQ" bus? "Positive IQ" education? "Positive IQ" needs?
Re: (Score:3)
Re: (Score:2)
GIMP does have open APIs. They have less plugins because they have less users.
Re: (Score:2)
Your post was confusing. You start by saying that "open-sourced software that offer open API (...) are far and few in between" and then you talk about GIMP, it gives the impression you're giving an example of one of those open-sourced softwares that don't offer open APIs.
Re: (Score:3)
Re: (Score:2)
For point 2, how hard is it for the author of GIMP to provide 16-bit per channel support?
A sibling points out that this is probably harder than it might seem, and why.
I'll throw my tuppence in and also point out - how hard is it for someone OTHER than the author of GIMP to provide 16-bit per channel support? Because GIMP is GPL software, there are no legal obstacles. The GIMP authors don't even have to like or accept your patches - because the software is GPL, you can distribute a modified version yourself ("HexaGIMP"?), and if 16-bit channel support is the killer feature that all users demand,
Re:We should have ask this instead ... (Score:5, Informative)
For crying out loud, the GIMP authors still refuse users the basic 16-bit per channel support !!
No they don't.
http://www.gimp.org/docs/userfaq.html#16bit [gimp.org]
When can we see 16-bit per channel support (or better)?
For some industries, especially photography, 24-bit colour depths (8 bits per channel) are a real barrier to entry. Once again, it's GEGL to the rescue. Work on integrating GEGL into GIMP began after 2.4 was released, and will span across several stable releases. This work will be completed in GIMP 3.0, which will have full support for high bit depths.
There's also the UFRaw plugin for 16 bit image processing. http://ufraw.sourceforge.net/ [sourceforge.net]
Re: (Score:2, Insightful)
Open APIs? (Score:5, Informative)
Like for example, the Windows API?
Seems like "Open API" is another way to say "proprietary software."
Openwashing (Score:2)
Yep, openwashing strikes again.
'Open API' means something akin to 'documented API' for proprietary software.
Re: (Score:2, Insightful)
Ah yes, the claim that the word "open" is owned by a small subset of people who think it can only and ever mean "open source software".
An Open API is just that - an API that is accessible and documented so that if your software wants to work with another piece of software you don't have to reinvent the wheel every time you want to do that.
Much like an electrical plug and socket being standard - the socket is the API to the power in your house. You are not obligated to use it (feel free to install your own c
Re: (Score:2)
Your example is great, because that's exactly the point. Like an electrical plug, to be open an API doesn't need to be merely documented - it has to be a standard. Anything with a single implementation is not and can never be a standard, and therefore it's not open.
Re: (Score:3)
That's an enormous non-sequitur - a single implementation can certainly be open. Just because it's singular does not make it "not open" - that's that attempt to define the term "open" again.
Open does not mean standard, although a standard can be open (or closed), just as an open interface does not necessarily need to be a standard (like GSM or power sockets or RJ45 plugs etc, although it needs to be standardised in that it is relatively unchanging within itself).
Re: (Score:2)
So, what, open is a synonym for standard now?
Re: (Score:2)
Re: (Score:3)
Words have meaning, and meaning in particular contexts.
Corporate doublespeak attempts to corrupt that meaning, in this case by intentional reversal; applying a word to it's diametric opposite.
Most people here quite clearly understand that.
Re: (Score:2)
Yes, words do have meaning, and the term "open" is not solely the domain of open source software, although that is certainly one of several possible uses.
Most people here clearly understand that, but some people will try to troll as much as possible to muddy the water and claim sole ownership of the word, and that any other use (especially by groups they despise) is some Machiavellian conspiracy rather than the simple use of an adjective that accurately describes the noun it is attached to.
Re: (Score:2)
Re: (Score:2)
Nice non sequitur.
I did not claim that, and I think you know that (if you really didn't then, goodness, my deepest sympathies). My specific claim is that the term "openwashing" is an arrogant claim on a term used in a derogatory fashion when certain groups who are despised by slashdot use the term in a dictionary-supported manner to describe something. The claim is that the term open has not been correctly applied and is only there to try to add some PR fluff. That's quite clearly not true, but it does tend
Re: (Score:2)
Why is calling it "openwashing" arrogance? People saying "Open API" are basically saying "an API that we have documented with the intent that a third party may use it".
This used to be called a "software development kit". Changing the term to "Open API" is an attempt to associate your product with some of the caché of the Open Source movement, without actually doing anything Open Source.
"Whitewashing" being a term used to denote the representation of an activity in a more positive light that it would
Re: (Score:2)
Because an SDK is often much more than just the API (although it doesn't have to be), and may include multiple different APIs in a widget (that then may also have other non-open APIs, for example, iOS). The descriptor for an open API vs a private one is perfectly apt. SDK and API are not necessarily interchangeable words, although they are clearly strongly related.
The openwashing term is arrogant because it seeks to claim ownership of the word, or rather, who may use it. For example, the folks on here would
Re: (Score:2)
'Open API' means something akin to 'documented API' for proprietary software.
Yes, that's because "Open" means "Interoperable", which is why "Open Source" and "Free Software" are different things, no matter what the people at the OSI want you to believe about their supposed influence on geek culture, including their supposed right to redefine the English language in their own image.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
That's like "open" industrial standards, like, um, CiP - common industrial protocol, developed by ODVA [odva.org]. It's "open" in the sense that if you pay them a couple thousand bucks and agree to all sorts of things, they'll politely let you read the freaking thing. Pretty steep for an "open" standard, if you ask me. And designed by a committe that must have had a couple armchair politicians included, because boy, did they overengineer that thing.
Re: (Score:2)
However the summary is a bit more dire than is probably what happens. If an API changes then there's a big chance you lose a lot of customers or customers refuse to upgrade, or your partners stop being your partners. Maybe Microsoft doesn't care about this but smaller companies are concerned and will do what they can to keep the APIs backwards compatible.
For instance at once company I was at I worked on the external APIs to the main product which allowed third parties and customers to integrate it with ot
Re: (Score:2)
I can't think of a single vendor that's bent over backwards more than MS to keep their APIs backward compatible -- the fact that Windows 7 can run applications from the 80's is a testament to that.
Well yes (Score:2)
Because if you code up an "open", gratis API, and it's useful, people will build applications around it. Then, a year later, you start charging for it. Either the developers using your API have to pay or their applications won't work (at least, not without significant recoding, which often means significant developer cost). You're basically holding their code hostage. It's awesome if you're the API developer, of course.
Now, to be fair, this is only unethical if you infer that the API will continue to be
Re:Well yes (Score:5, Insightful)
In my experience, it's just as bad, if not worse, developing add-ons for open source projects as it is for open APIs. As much as I hate Windows, it's a good example of a stable API. It doesn't change much, you can keep running old applications, shell extensions, COM modules and whatever else. Open source systems often seem to make incompatible changes at a ridiculous pace that people with plugins are forced to keep up with. Being open source isn't a magical solution to problems. A stable API/ABI is what you want, and it can be delivered, or fail to be delivered,
by open or closed source software alike.
Re: (Score:2)
Re: (Score:2)
In my experience, it's just as bad, if not worse, developing add-ons for open source projects as it is for open APIs.
Really? Open APIs are prbably the best thing, better even than OSS. I don't count a documented proprietary API as open.
Open APIs are things like OpenGL, POSIX, standard libraries (e.g. C and C++), OpenMP, MPI etc. These are all documented by some standards organisation and there are multiple implementationsboth closed and open. To a large extent (especially these days), you can write once and
Re: (Score:2)
OK, let me clarify. The base Win32 APIs provided in system32.dll, kernel32.dll, comctl.dll, etc. Things like Direct3D, etc. change around a bit, but for stuff other than games, stability is pretty good.
Isn't the problem the same? (Score:5, Insightful)
Re:Isn't the problem the same? (Score:5, Insightful)
Re:Isn't the problem the same? (Score:5, Insightful)
Except that with an open source project, you can always fork --
In theory, yes.
In practice, the open source project can be so big or so arcane that you are going to need serious muscle and manpower behind you to make it happen.
Re: (Score:2)
Except that with an open source project, you can always fork --
In theory, yes.
In practice, the open source project can be so big or so arcane that you are going to need serious muscle and manpower behind you to make it happen.
Something big and arcane like OpenOffice or XFree86?
Re: (Score:3)
Yes, of which neither could have been forked by a single developer or even a small group of developers. They are on the other hand given lots of development through paid developers.
Re: (Score:3)
No one said large projects don't fork. His point was that large projects are usually impossible to fork by a single or small group of developers. OpenOffice.org and XFree86 were only possible to be forked because there were tons of people and commercial companies willingly to fund the work. If Joe Developer didn't agree with the path of XFree86 it would have been nigh impossible for them to sustain fork on their own without needing probably countless weeks or months in order to even gain a tiny ability t
Re: (Score:3)
Re: (Score:2)
I think you proved his point for him. Yes.
Re: (Score:2)
You can often do something similar with a proprietary system - just keep running the old version. Yeah, you can't maintain and update it yourself, but with an Open Source project of even moderate complexity, only a very very few of its users are going to have the expertise to maintain and update a fork in the first place. It's a theoretical advantage for Open Source, but I imagine it would be realized only very rarely.
Re: (Score:2)
"Here's $100, go sit in Microsoft's building and recompile their code with a couple of changes, just for me"
Re: (Score:2)
And have the expertise and time to manage the programmer. Sure, for a minor feature here and there, one that's simple enough for a non-techie to spec and test themselves, sure, a short-term contract's fine (although I doubt you'd get much done for $100). But if you're looking at anything more than that, you're going to be employing someone for weeks or months, plus testing, scope and management overheads. A big company can probably throw money at their IT department, and get them to manage a couple of contr
Re: (Score:2)
Unless you pay a programmer to do it for you. The problem with closed source is you can't hire someone and tell them "Here's $100, go sit in Microsoft's building and recompile their code with a couple of changes, just for me"
So you can pay a programmer $100 to build a new version of OpenOffice for you with a few changes? Where do you find programmers that cheap?
Simple (Score:2)
Re: (Score:2)
Assuming you can still license the old version...
Re: (Score:2)
It's not always posible to run old closed source software. Sometimes in wont work on newer OSs, or even newer hardware, and this is 100% unfixable.
Emulation. And it's just as unfixable for Open Source, unless you can afford/have the expertise to port it to your OS/hardware of choice.
Re: (Score:2)
Re: (Score:2)
Every system can't be emulated
Name one
Not to mention the difficulty of finding installation media for many older systems. Or the legalities
If you're trying to port a system you currently have running as to a new OS, then you presumably have both the media and the licenses, as you are already running the OS.
Also, pretending that porting open source applications is equally as difficult as proprietary software is flat out laughable. Where do you people come from?
Apparently, you come from a place that just ignores any part of a sentence that comes after a comma. I said it's just as unfixable unless you can afford/have the expertise to port it to your OS/hardware of choice. And no, that expertise is not easy to come by, nor cheap enough for your average business to use as a matter of course.
Re: (Score:2)
Re: (Score:2)
Virtualization..?
Re: (Score:2)
Re: (Score:2)
So you are trying to equate some single developer having to fork what could be complex software and spend their own time and money to do so to a fork of a project that has a number of large commercial companies behind it that can fund the developers to work on it? Are you an idiot?
Re: (Score:2)
Think of open source as insurance against sudden changes. You can maintain your own version for as long as you need to move to the new API, thereby being less disrupted. Without this option of open source, you get
Re: (Score:2)
You can maintain your own version for as long as you need to move to the new API, thereby being less disrupted.
Unless you are writing toy programs, almost no one has the ability these days to take on the role of maintaining every piece library or API that they rely on. So, no, you are just as disrupted because then you now have to get up to speed on the source code of each of these pieces you have to maintain which depending on what the library/API/etc is can be a monumental task. Far more painful than just adapting to the API change.
Re: (Score:2)
Would you rather have nothing? (Score:2, Insightful)
Re:Would you rather have nothing? (Score:5, Insightful)
Re: (Score:2)
Then don't use their offerings.
Oh wait, didn't a Sony employee recently get run out of Slashdotville because they no longer wanted to rely on BusyBox and intended to replace it with something they could control? I distictly remember a lot of derision about his plans...
Re: (Score:3)
Oh wait, didn't a Sony employee recently get run out of Slashdotville because they no longer wanted to rely on BusyBox and intended to replace it with something they could control?
No, they wanted to build an alternative based on a different license because people keep forcing vendors to stick to the terms of the GPL for busybox and in fact use that as a hook to force them to stick to the terms of the GPL for all the softwar ethat they ship.
In other words, the guy basically wanted te be able to break other p
Re: (Score:2)
So yes, it was something they could control, and not fall under the control of someone else.
My point precisely.
Re: (Score:2)
My point precisely.
Well, that was a little ambiguous to say the least. The entire thread is about the API and source level control. As far as I know the Sony guy had no complaints about Busybox, or the direction it was going or the feature set in terms of source and features.
It wasn't clear to me that "control of the source" was equivalent to "being able to infringe a bunch of unrelated licenses with impunity".
Re: (Score:3)
No, what BusyBox were doing was relying on the termination clause in the GPLv2 - which does not grant you a new license to distribute if you violate it but come back into compliance...
BusyBox were using that little "oversight" to force compliance on third party code before they would grant a new distribution license - otherwise, the party would have no standing at all to distribute BusyBox even after coming back into compliance without BusyBoxes explicit agreement.
It wasn't restitution or redress, it was th
Re: (Score:2)
they're coming off as whiny children.
No, you've got that angle all sewed up, fella. Trust me.
A number of traps actually (Score:5, Interesting)
Open source is superior in large part because not only can the small developer use the open API's but actually shape the development of the next generation through direct access to the developers of the API's used and even code contributions themselves. That cannot compare to open API's on a closed source platform.
Yeah, real world on line 1? Better than nothing! (Score:4, Insightful)
That holds true only for "cloud" computing, where you have absolutely no control over exactly what happens to the servers, to the applications, or even to your data.
For typical day-to-day applications, including enterprise-level server apps, you absolutely can control what happens, by simply not upgrading to the latest and greatest every three months like the vendor wants you to - And as a rule, you'll find most companies don't do so, staying as far behind the bleeding edge (often two "major" versions) as their service agreement allows.
In larger shops, this happens precisely because upgrading would break any custom in-house apps developed to interface with UberSystem9000. In smaller ones, simply because they don't have the resources to have two people dedicated to nothing but installing service packs 40+ hours a week.
Case in point, you can still find fortune-500s running on an NT4 infrastructure on the server side, and I would dare say the majority of business desktops still run XP.
Re: (Score:2)
And if it's closed source, AND a security hole is found, you've got yourself in a huge mess, seeing as how you *need* to upgrade to the latest version ASAP, or take the system down.
This can also happen due to compatibilty issues, for example.
Open APIs in propriety software (Score:2)
Having well documented Open APIs is one thing. But until you have open source software, you will never see the undocumented APIs that the owners of the software are keeping hidden to give them an edge. I'd be surprised if Microsoft aren't the only ones who do this.
Slowly closing APIs (Score:5, Insightful)
Some major APIs have slowly become less open. Google once offered a SOAP search API. Then they backed down to their "AJAX API", which could only be used with Google display widgets. Even that's now being shut down. All that's left is "Google Custom Search", which does not allow a general web search.
Twitter once encouraged third party Twitter clients. They no longer do, and they have an authentication system that validates both app and user, so they can yank the credentials of any app they don't like.
The Yahoo search API used to be free, then went to a pay system.
The lesson from this is, don't use an external service API for anything important unless you have a contractual agreement that guarantees that it will stay around.
Open API is only fine if it's an open standard (Score:5, Insightful)
IMAP is an open API - truly open, because it's a standard and multiple people support it. RSS is an open API - because I can use an RSS reader with anyone I like.
If an API is only supported by one site then it's still lock-in, and if they change it (or close down, or raise their rates) then you're still fucked.
Re:Open API is only fine if it's an open standard (Score:4, Insightful)
People keep using the phrase "Open API" where they should be using the phrase "published API". They seem to be trying to make people think that it's something that it's not.
Re: (Score:2)
IMAP is an open API
It's an open protocol. POSIX is an example of an open API.
I don't understand (Score:3, Interesting)
I work for a company that OEMs a product with a published API. They make quarterly updates, but here's the rub...
The updates continually update their back-end in non-backwards compatible ways. We end up running multi-cpu days of regression tests to find what's broke and then spend oodles of man-days tracking down what happened and figuring out workarounds each time we try to update. We're still using the API libraries that are many versions before the latest because of this.
At one point I couldn't figure out how to do something with their API,so I requested example code. They sent part of the source a real product that they market that does what I needed. I soon discovered that they don't use their own published interface, completely bypassing the API classes entierly to get to functionality I can't.
I'd take open source over this pain any day.
Re: (Score:2)
*pssst* Wrong story.
Re: (Score:2)