Open Source Increasingly Replaced By Open APIs
SharkLaser writes "Open APIs might be the way to get rich in 2012. At the same time, it can also be what ultimately hinders open source development. A wide range of companies, including Google, Facebook, Amazon and Twitter, are building open APIs for other developers to use and build upon. Open APIs can be used by companies to grow their user base and introduce new, interesting features on top of their platform. Independent developers can utilize established services and their users to grow their own business. A perfect example of open APIs is Facebook Apps, which lets individuals and companies develop applications and games on top of the Facebook platform. Developers gain access to Facebook's established user base and Facebook gains new features and fun stuff to do on their site. Instead of open sourcing their platforms, companies like Google and Facebook are providing Open APIs and data access to outside developers. The actual source code for the services sits safely inside the company's network and never needs to be disclosed to outside parties, thus hindering open source development."
What's the point of opensourcing Facebook? It's the userbase that matters to web-developers, not the server code.
Apple has "Mac vs PC", Microsoft has "Laptop Hunters", Linux has recession
I would far rather have a published API than the source, especially for something like a social networking site where having the source would do me no good whatsoever. And I doubt I'm alone.
"16MB (fuck off, MiB fascists)" - The Mighty Buzzard
Isn't "Open API" just a different way of saying, "The first one is always free?"
Support the EFF and Creative Commons. The war is coming, and they're supporting you...
"hindering open source development"?
Yeah, sure. Just like the fact that I, like most people, don't donate 10% of my income to the FSF or some other open-source project hinders it. So what?
If you want to judge others from a particular ideological position (concealing code is unethical), you should state that clearly rather than impugn others indirectly.
Most of these APIs provide access to data "owned" by the providers of those APIs. They rarely ever provide functionality that is not coupled to their data. These Web APIs are not going to replace open source tools/libraries that provide functionality.
Also, using the term Open API is bullshit. First of all, an API is pretty much always open otherwise it cannot be an "application programming interface". If the API was closed it would not even be an interface to program against but a blackbox.
1. Make Open API that replaces ad-based website functionality.
2. Don't require ads or developer fees
3. ???
4. Profit?
I would have written more, but I think that sums up my point.
while(1) attack(People.Sandy);
Many companies have built their products on top of someone else's APIs, to have those APIs change, vanish, or develop charges later on. Do be aware of the pitfalls before you make yourself totally dependent on someone who does not have your best interests at heart.
My Journal
Like I want to build my software around an API that could disappear in 6 months to a year.
You'd be foolish not to, if you could recoup the investment in less than 6 months to a year with a decent return.
Programmers seem to routinely toss away their entire codebase from time to time anyway.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
Open Source replaced by Open APIs?
How should that work?
Two totally different things.
"we are all atheists about most of the gods that societies have ever believed in. Some of us just go one god further."
I do think Facebook is a bad example. Their API is open and the SDK is open too... yes, the code is executed remotely... but that is the whole point because it interacts with the user data... that is the beauty behind technologies like XML-RPC or soap... good luck to facebook opening up access to their whole database... they don't care about privacy but even they would not do that
now, it is true that a lot of companies provide an open SDK with a binary part... a good example would be video drivers which are open source yet include a binary part that is not open source. Games are another example.
Even then, I would still consider it progress because before that there was no SDK, the only way to modify existing products was through a hex editor... at least now, software editors provide an api to interact.
The concept is not even new... windows operating system is based on binary DLLs that many times only microsoft has the source code... yet visual studio comes with sourcecode and a very complete toolkit... but even that was not the first time open api was provided to a binary core... I guess that is just the way software is done
Never antropomorphize computers, they do not like that
It's an API. Tacking "Open" onto doesn't change the fact that it's just an interface to a black box.
As Stallman's been saying for the last few years, having software freedom is about having control over your computing, and that requires that your computing is done on *your* computer:
http://www.gnu.org/philosophy/who-does-that-server-really-serve.html
Expert in software patents or patent law? Contribute to the ESP wiki!
Remember the good old days of the Internet, in which techies used to invent useful protocols, document them as RFCs, and then the best of these would be turned into Internet standards at the IETF? That approach gave us an open Internet with multiple implementations of the same standard services, all competing on merit not through proprietary lock-in.
Well that's not where we are today. Instead we have a ton of proprietary services that occasionally publish public APIs when it suits them, but they're almost always pathologically opposed to interoperating with anyone else that might provide competition. Imagine a world in which everyone used their own homegrown mail prototols instead of SMTP and POP or IMAP. That's where we are today with the social networking services.
Walled gardens are bad. Publishing open APIs doesn't make them any better, as the gardens are still walled and these closed services reject federating with other similar ones. And even if they accepted federation, the complexity of a fully interconnected graph in which each node has a different public API grows explosively, so technically this is a very bad design approach.
Things aren't at all healthy on this front of the Internet, and proprietary services having open APIs doesn't help much. The best that can be said is that it's a bit better than no API at all, but that's not saying much.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
I'm not sure what the point of the submitter is. Open source and open API have little in common. It's not like one could develop an OS kernel based on some documented open API. Open API is also nothing novel.
Getting rich as an individual is not the point of Open-Source. Getting richer as a software-building community in terms of software availability is.
With disastrous consequences: Netscape, KDE4, etc. Throwing away a large codebase is stupid.
That depends very much on the quality of the codebase. They don't age nicely like fine wine, you know.
Yes! So instead of a single vendor holding its customers hostage, you get competition that drives down prices and a platform that is independent of the hardware.
That's a good thing. Well, unless you're a monopolistic corporation/control freak.
Doing it just because I can "recoup my investment" short term is stupid. Throwing away a large batch of hard won customers is stupid. If I had made a successful ad-supported app with Google Translate, what do I do my customer base disappears because Google closed the APIs? They already had one app from "my" company break. Think they're going to buy another?
Way, way too many companies -- and individuals -- make decisions based on short-term profits, with little to no regard of the long-term impact. That "I'm going to get mine and screw everyone else" sense of entitlement is largely how we got to be in our current mess.
Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
Assuming there *was* one universally accepted standard that Facebook embraced and was also implemented by MySpace. No one would still give a rat's ass about MySpace. The APIs in this case are trivial and you can make up your own or copy them as a de-facto standard, but the data and user connectedness that the service embodies is what matters.
There are two good reasons these companies don't go through RFC process for things like this. One, as above, the APIs are trivial and only of value to their data so an RFC process makes no sense. Secondly, if they were married to the RFC process, every little enhancement has the potential of taking months to over a year to ratify. Nothing is stopping a community for creating an RFC to compete with a proprietary API and if you push it through and are successful and create an ecosystem, then Facebook might implement it on top of their proprietary API.
Incidentally, the same phenomenon can be seen in the 'good old days' of the internet. Cisco frequently did (and still does) roll out a proprietary protocol and when the IETF finally ratifies a standard to do the same thing, Cisco implements the standard as well as their proprietary approach (ususally, some times Cisco ignores the standard, probably due to lack of explicit customer request). Also, at the upper layers, there is a large precedent for people not bothering with RFCs at all. As far as I know, there is still no IETF RFC covering bittorent. There we have a very popular, community driven technology that has been in use for years that doesn't bother with IETF RFC process.
XML is like violence. If it doesn't solve the problem, use more.
That depends very much on the quality of the codebase.
No, it doesn't. There is never a good enough reason to completely throw out a large codebase all at once. Especially if it's been around a while.
No, not even if it's "really bad".