Slashdot Mirror


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

168 of 224 comments (clear)

  1. What's the point? by eugene2k · · Score: 3, Insightful

    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
    1. Re:What's the point? by hjf · · Score: 3, Insightful

      On your race to the First Post you completely missed the point. Hell, you even missed the headline!

    2. Re:What's the point? by Tharsman · · Score: 4, Interesting

      There is a lot of point. Few online services can handle the level of activity Facebook handles every minute. It's not just about tossing more hardware at it either; it's not easy to make such a scalable system.

      Open sourcing Facebook gives developers access to the custom code that allows them to handle all this, making it easier for small startups to jump into large service hosting solutions.

      Also, not sure what the summary means with the last statement. It is my understanding that Facebook HAS open sourced their server code (very likely as a jab at Google who, despite being "Open" would never dare give any competitor access to their scaling server code.)

    3. Re:What's the point? by Tharsman · · Score: 5, Insightful

      Actually.... the summary does mention that the lack of open source code from Facebook and Google is "hindering open source development."

      He may be question the usefulness of Facebook being open source and why would it "hinder" anything.

      Still a flawed observation that I replied in another post, but at least it seems he did read enough of the summary (i.e. all of it, not just the title) to jump to his argument.

    4. Re:What's the point? by camcorder · · Score: 2, Insightful

      Security. If Facebook source code was open, security flaws which are disclosed every one day or another, probably ruining life of thousands due to privacy leaks, would have been closed faster and I'm sure dozens of sane coders would report facebook to close its bugs. Moreover Facebook engineers would be more careful. Windows taught the lesson that security from obscurity is flawed decades ago.

    5. Re:What's the point? by garaged · · Score: 1

      Very few services need that kind of scalability, and is not that hard to achieve it actually, just look at how many examples we have, you just need the money and motivation ( most of it is hardware, good software is way cheaper )

      --
      I'm positive, don't belive me look at my karma
    6. Re:What's the point? by Mathinker · · Score: 1, Insightful

      > Also, not sure what the summary means with the last statement.

      Seems to me that it means "I am a card-carrying member of the Church of RMS, and I'm not about to let any real facts get in the way of disparaging those of less pure faith".

      As you point out, it seems a bit stupid. Possibly useful for artificially pumping the Firehose to get a submission on the front page, though.
       

    7. Re:What's the point? by Tharsman · · Score: 4, Insightful

      It’s sad that anyone who makes a web service thinks they don’t have to, and as soon as they get 10 more users than they tested their service with the entire thing falls apart and they can’t scale it up to manage users. All they can think of is to try to optimize code here and there, but that has its limits and eventually you will need a system that can handle the scaling demand.

      “Scalability” is not about being able to “be as big as facebook”, it’s about being able to handle increased user demands, be it seasonal or popularity based.

    8. Re:What's the point? by Bananana · · Score: 1

      Security. If Facebook source code was open, security flaws which are disclosed every one day or another

      it would not be the case if they're open from the first day on or at least open earlier.

    9. Re:What's the point? by drinkypoo · · Score: 1

      Actually.... the summary does mention that the lack of open source code from Facebook and Google is "hindering open source development."

      Ah yes, Facebook has really waged a war on Open Source by not releasing code, eh? And don't get me started on those bastards at Google.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    10. Re:What's the point? by hraponssi · · Score: 1

      at least google has published papers describing various components of their (software) infrastructure. not sure about facebook. personally i find it more interesting to start with a good high-level description of how the things work rather than a huge pile of code. of course this does not help you adopt it if you need a server/framework to deploy for it today. still, if it is interesting, some open-source alternatives tend to emerge as well once the knowledge is out there. then perhaps the specific source code is not so important. and personally i like these open apis. a nice abstraction to something already set up, running, lots of data&users available, etc. is so much nicer than fighting it all by myself. sure, arguments on availability in a few years etc. apply but it is just something to keep in mind if one chooses to develop for these. i guess for the companies it is a good business approach. thats what matters..

    11. Re:What's the point? by Tharsman · · Score: 1

      Ehm.... I already stated that... and it's what I was refering to by saying "Still a flawed observation that I replied in another post"

    12. Re:What's the point? by drinkypoo · · Score: 1

      Well, I didn't go read your other post, which I might have done if you had linked it. You're too lazy to link it, and I'm too lazy to go figure out which one it is, but I'm not too lazy to snark on about it now of course.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    13. Re:What's the point? by SomePgmr · · Score: 1
      I think he said what many of us were thinking.

      It's entirely specific to the summary though, which put an unwarranted "oh noes, the open source!" spin on the article. The article itself says what many of us already knew. Where once being an OSS friendly company was a differentiating thing that became something of a requirement, the new expected feature set from any service includes API's. In their closing words...

      Open APIs are the new open source, except they require less geeky access to lines of code, and more programmatic interaction with software services. As an added bonus, open APIs don't come with the baggage of licensing fundamentalists. Praise the heavens!

    14. Re:What's the point? by TheRaven64 · · Score: 2

      The grandparent's point, I think, is that scalability in the server is not necessarily the same as scalability in the system. If my mail server is running a simple SMTP daemon that can only handle one connection at once then it doesn't matter because the scalability of the email system is not dependent on any single node. If my mail server goes down, then people trying to communicate with me or a few other people will notice, but no one else will (and even then they may not - if it's only down for an hour or two then mails will just be slightly delayed). The system as a whole has scaled from a few hundred users up to billions of users, but no one expects any single implementation of the SMTP or IMAP protocols (for example) to scale to more than a few tens, maybe hundreds, of thousands of users.

      --
      I am TheRaven on Soylent News
    15. Re:What's the point? by Mathinker · · Score: 1

      You know what would make slash dot a lot more fun to read? If people like you would let go of the simple minded prejudices and easy pot shot posts and actually review someone's comment history before opening their mouth. It's easier than you think. Try it sometime.

      .
      .
      .
      .

      NB: No, I don't usually pretend to take myself this seriously --- actually, I just couldn't resist japing you via reiteration. Especially when, by chance, my comment history is full of Insightful mods. I actually pretty much agree with you, I'm not the most insightful commenter Slashdot has ever seen.

    16. Re:What's the point? by GreyWolf3000 · · Score: 1

      > Also, not sure what the summary means with the last statement.

      Seems to me that it means "I am a card-carrying member of the Church of RMS, and I'm not about to let any real facts get in the way of disparaging those of less pure faith".

      As you point out, it seems a bit stupid. Possibly useful for artificially pumping the Firehose to get a submission on the front page, though.

      You must be new here. A member of the Church of RMS would never use the term "open source" like that.

      Furthermore, RMS predicted exactly this happening like 5 years ago and worked on a copyleft license that could cover SaaS. Google "tivoization."

      RMS may be very passionate and extreme in his views, but his predictions for the future have consistently been spot on.

      --
      Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
    17. Re:What's the point? by syousef · · Score: 2

      What's the point of opensourcing Facebook? It's the userbase that matters to web-developers, not the server code.

      It's all about forking. Everyone on Facebook is all about forking too, but that's not what I mean ;-) If Facebook retain control of the code, they can choose to make whatever changes they wish and users will never defect to a competing network. If they open sourced, Microsoft for example could fork it and include it as a feature of Hotmail - okay not the best example but you get what I'm saying. Take an existing user base and hijack/poach Facebook users.

      --
      These posts express my own personal views, not those of my employer
    18. Re:What's the point? by hairyfeet · · Score: 2, Insightful

      Lets be honest folks we ALL know what is causing this, hell its the same thing that is causing the drop in GPL code we saw posted here a little while back, and that is this: RMS went too damned far with GPL V3 and this is the backlash. With GPL V1 and V2 there were big enough loopholes that a corporation wouldn't feel directly threatened for using it, but with GPL V3 RMS might as well have sent a Goatse to every corporation on the planet with a note saying "Here is what i think of capitalist pigs!".

      Personally i think RMS went too far and the GPL has had it. The MPL, AGPL, BSD, one of the other licenses out there that doesn't fling shit at companies will end up taking over and RMS can go play in a corner somewhere with his "pure' Loongson ARM netbook and I think that's a good and healthy thing. Isn't that what's supposed to happen in FOSS land when something goes the way the majority don't agree in, it forks? That is what we are seeing here as developers don't seem to have the seething hatred for companies that RMS has since they are the ones paying their bills and all. So i personally believe we'll see GPL V3 go the way of the 8 track and after this backlash is over we'll see another permissive license become number one, personally I'd bet on Apache or MPL but there are several that wouldn't give the bird to companies while still giving the people access to the code.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    19. Re:What's the point? by hackus · · Score: 3, Insightful

      "Lets be honest folks we ALL know what is causing this, hell its the same thing that is causing the drop in GPL code we saw posted here a little while back, and that is this: RMS went too damned far with GPL V3 and this is the backlash."

      Complete nonsense. Furthermore, the whole idea about open source is to control the destiny of your investment, customer base while at the same time allowing customers to partcipate as engineers, not just as end users in what amounts to a community which has the final say as to what changes are made to the software it uses, and even if the software will continue to be used for a given purpose.

      That result is open source. Open API's are not open source. No, if I have an open API it is not going to allow my customers to participate as engineers, it will not allow the community to control the destiny of the softwar either.

      Those API's could be removed tomorrow, you can't improve them, the bugs are intractable or ignored by the corporate Big Brother who is monitoring everything you are doing with those API's.

      Are you people just plain stupid or have you had your heads in the sand since 1992?

      How can someone post something like this and get a Score 5 as insightful?

      Go ahead and embrace your open API's.

      You probably enjoy TSA sticking their hands down your kids pants, why wouldn't you enjoy having someone monitor every API call your software does.

      F'in diots I hope you get the world you deserve.

      You don't deserve Stallman's vision or any sort of Freedom!

      -Hack

      --
      Got Geometrodynamics? Awe, too hard to figure out? Too bad.
    20. Re:What's the point? by irregehen · · Score: 1

      You mean you'll miss having the chance to share the corner?

    21. Re:What's the point? by hairyfeet · · Score: 2, Informative

      Uhhh...because unlike you I'm not a militant FOSSie which like a Moonie treats software as a religion? I mean when you equate a software license to be groped by the TSA? Step away from the keyboard little FOSSie for you are coming off as more than a little batshit.

      By the way FOSSie, where do you think software comes from? Magic fairies shit it out like that bunny shitting jelly beans? Newsflash the VAST majority of software INCLUDING FOSS is PAID FOR BY COMPANIES. Companies that got a Goatse in their inbox from RMS so naturally they ain't too keen in jumping aboard his little communist utopia. Kinda funny that a guy that is a self proclaimed "squatter from MIT" garners so much batshit loyalty but the rest of us just can't squat on a campus without getting hauled away in cuffs. We have bills to pay and families to feed and there are many companies that will happily pay for code, even FOSS, if they don't feel like they are getting backed into a corner.

      But there is a simple way to tell if its you or i that is right, every year Slashdot should have an article called "The state of GPL V3" and show how the numbers are coming along. Personally i think GPL is gonna continue to nosedive because even Torvalds won't touch it because its too restrictive. And if companies were so damned evil how do you explain apache? How do you explain Red hat or all the other companies making money with GPL? Hell apache is practically THE Internet now and i don't see them sitting on street corners with a cup and a cardboard sign and their license is one of the most permissive around.

      In the end I truly believe RMS got trolled by TiVo and like most that get trolled completely overreacted and screwed himself and the GPL in the process. The numbers don't lie and as we saw here on Slashdot not too long ago GPL is declining like a rock rolling downhill, every month since GPL V3 the numbers have gotten WORSE not better. A logical person would sit down with developers and say "What EXACTLY is it you hate about GPL V3?" and work with them to come up with a license all could live with, but RMS is a militant and as we've seen time and time again militants NEVER compromise, its their way or the highway. Given that choice i believe the developers of the world will choose the highway and there will be an offshoot of MPL or AGPL or Apache crafted that will be what GPL V3 SHOULD have been, a license that does its best to protect the users while still giving companies an incentive to keep paying FOSS developers.

      But you go right on comparing those that don't drink the koolaid with facists, hell i'm shocked you didn't just go for full troll and call me a Nazi. Its this kind of foaming at the mouth "all that don't follow the 'one true way' are evil and burn babies!" bullshit that gives FOSS a bad name and is why I separate FOSS users and developers, which are generally a smart and reasonable bunch, with FOSSies like you that think all those that don't worship RMS dirty sandals are nazi baby killers. Frankly you should work for MSFT because between guys like you and videos like this you make it too damned easy for any company to label FOSS as a bunch of nutters.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    22. Re:What's the point? by badkarmadayaccount · · Score: 1

      Loongson is MIPS-based, knuckle-head.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    23. Re:What's the point? by shutdown+-p+now · · Score: 1

      That doesn't make sense. If Stallman went overboard (with respect to the community expectations) with GPLv3, that would only affect the adoption rate of GPLv3 - which is, arguably, precisely what happened. Why would it in any way affect the popularity or perception of existing well-established copyleft licenses such as GPLv2?

    24. Re:What's the point? by hairyfeet · · Score: 1

      Because many don't understand GPL and think because V3 is out that makes V2 moot? I've seen it in action friend where companies threw out perfectly functional software because version Y is out so version X MUST be bad. And any company that asked a lawyer about GPL V3 is probably gonna be told to run and if the new one isn't any good why would they think the old one would be better? Best to stay safe and just wash your hands of the whole thing, that's what corps will say. Finally Stallman really is a bad role model for FOSS, between his toe cheese eating video (WTF was he thinking? who does that in private much less on stage in the middle of a lecture?) to his hugging Chavez and gushing about how wonderful he was Stallman has really put a bad face to GPL as of late and when companies start to inquire and see you have this fracture with some going V2 and some going V3 and large companies avoiding V3 like the plague you can see what would make them spooked.

      That is why in the end just as has happened every other time when a single person has tried to force the masses into a direction they didn't want to go in FOSS I think the winner will be a fork, of what I can't tell you for sure but if i had to take a guess I'd say an offshoot of Apache or MPL since both are seen as business friendly and used by many. I think someone will come along and making one of those two more protective of the users while still being friendly to companies then BAM! Suddenly all these projects start adopting it instead of GPL and that will be that. I mean look at the post above me that thought my kids should be groped by the TSA for me daring not to follow the "One true way", its THAT kind of crazy batshit attitude that frankly scares businesses off. you just don't see that kind of fanaticism with Apache and MPL ONLY with regards to GPL and i think that is Stallman's influence and the way he tries to paint everything as a "war between light and dark" which give me a fucking break, its a software license not the force, okay?

      But as you've seen above you get some real venom from FOSSies which is why I strictly separate them from FOSS users and developers who are generally a nice bunch. But its the batshit that are attracted to Stallman, like Moonies in their devotion which is why i call them FOSSies, that hurt the cause more than anything. A nice bland license like Apache or MPL that doesn't cause militants to flock to it could be just what we need to get many businesses currently on the fence to take a second look at FOSS. But the reason i think its affected GPL V2 as well is the reasons above along with stallman simply leaving a bad taste in everyone's mouth. the older he gets the more militant he gets and i think the tiVo trolling simply pushed him too far and he overreacted and that overreaction is what is gonna ultimately leave GPL a niche license used only by "followers of the one true way" while the rest of the world does as i said above. That's just the way FOSS works, like the net it routes around damage.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    25. Re:What's the point? by eugene2k · · Score: 1

      Forgive me for not reading your other post, but if the argument in it is that facebook did opensource their php-to-c compiler, then i know about it. The point was why would a company that provides a certain service open source the platform they provide their service on, if what really matters to others are the APIs rather than the platform itself. The only people that would benefit from the platform being open sourced are the competitors. No sane businessman would want to feed his competitors at the cost of his profits.

      --
      Apple has "Mac vs PC", Microsoft has "Laptop Hunters", Linux has recession
  2. Software packages, too by windcask · · Score: 1

    Google any decent-sized software product with the words "SDK" or "API" and I guarantee you'll get at least some results.

    1. Re:Software packages, too by nman64 · · Score: 5, Informative

      Different tools for different goals.

      When you need to recreate the functionality of an existing application in a new application, as would be the case if you wanted to create a Facebook competitor, you may want the source code of the existing application.

      When you want to integrate your new application with one that already exists, as would be the case if you are creating a complementary or dependent project, you want SDKs/APIs.

      Developers do frequently use the APIs published for toolkits (jQuery, for example) and often load those toolkits from a third-party hosting service (like Google's, for example). This does create a dependency that would need to be updated if the hosting service made an incompatible change or discontinued their service, and that is something that developers need to keep in mind.

      When developers tie into the APIs of platforms like Facebook and Twitter, it would usually do them no good to have access to the source code, as they are usually trying to tie into those existing platforms to connect with their user bases. If the developer chooses to make their application dependent upon a third-party API, that is a strategic decision and the committment is theirs to make. It makes sense if the purpose of the application is dependent upon the third-party platform.

      As for published APIs interfering with open source development, I think it is possible that developers may choose to use proprietary products with published APIs rather than implement an open source solution. An example might be a developer choosing to use Google Charts rather than integrating gnuplot into their project. This might have some impact on the momentum of some open source projects, but the examples given in the summary are way off. A developer choosing to use an API published by Facebook for Facebook integration is not taking anything away from open source software.

    2. Re:Software packages, too by 0123456 · · Score: 1

      Or core-dumping in a situation they never tested, or corrupting memory on an error condition, or claiming to be multi-thread safe but not locking data properly in a rare case while two threads are in the library, or...

      Around 80% of the crashes in our released software over the last few years have been caused by buggy third-party libraries. Yes, I'd like to have source code to them so I didn't have to wait for the third-party to fix it.

  3. I see no problem here. by bigstrat2003 · · Score: 5, Insightful

    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
    1. Re:I see no problem here. by betterunixthanunix · · Score: 4, Insightful

      The problem is that web app APIs can change at a moment's notice, without any announcement, and all the developers who depended on the API will be left out in the cold. If Facebook wanted to, they could kill, hinder, or otherwise put any particular third party app at a disadvantage by simply changing the API a little. The running story with web 2.0 is that everyone is at the mercy of the people who run websites; this should not be news (in fact, the problem was discussed years ago).

      --
      Palm trees and 8
    2. Re:I see no problem here. by ortholattice · · Score: 5, Insightful
      Yes, and a Windows developer has absolutely no use for the Windows source code as long as they have access to the APIs. So why would anyone care about Linux?

      While you in particular may not necessarily have a use for the source code, the point is that it is unavailable to those who do wish to use it. The "use" might be understanding what it is doing (what information is it sending to the parent company), modifying it (so that it does not do this), and having the ability in principal to continue to run the API (modified to run on your own or an alternate social network) if the site owner goes out of business, does things you don't like with the information you give them, or decides to ban your application.

    3. Re:I see no problem here. by Tim+C · · Score: 4, Interesting

      The problem is that web app APIs can change at a moment's notice, without any announcement, and all the developers who depended on the API will be left out in the cold.

      While that's true, if they do it too often and to too great an extent they'll lose developers to some other platform; if the apps start breaking without replacement, users will start to leave for other sites. Facebook (as big as it is) is nothing without its userbase.

    4. Re:I see no problem here. by TheCarp · · Score: 1

      Embrace the power of AND.

      I want....both! (I also want it immediately for no cost, but thats just typical isn't it?)

      Seriously though, the source availability may not be of use to you now, directly but, if you don't think it is of use to you, then realize that if the service with the published API goes away, you don't have a starting point to replace it, other than the API docs... unless someone else already implemented another version off the same docs.

      There are definite plusses to independent code bases... but they have to exist in parallel to be useful. If nobody starts work on a new code base until the original service is gone, where does that leave you?

      --
      "I opened my eyes, and everything went dark again"
    5. Re:I see no problem here. by HarrySquatter · · Score: 2

      Except doing such a thing would drive away the very developers they are trying to bring in thus would kill their site.

    6. Re:I see no problem here. by jedidiah · · Score: 5, Insightful

      > So why would anyone care about Linux?

      People care about Unix and Linux is just another Unix.

      THAT is what freely re-implementable interfaces get you. Now while it is possible to have proprietary interfaces that can be re-implemented, it is very rare. The whole point of "owning" the API is the fact that you can disallow drop in replacements. You are you're own monopoly and market pressures quickly enforce that.

      We haven't moved from Free to Proprietary but from proprietary apps to proprietary services where all of your eggs are in one basket at some Facebook owned data center.

      What's missing is mobility of data between different "compatible" services.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    7. Re:I see no problem here. by Anonymous Coward · · Score: 1

      But isn't your argument orthogonal to this discussion? Absolutely they can change the API without notice. They can change the production source without notice too. Either one breaks apps that layer onto the service. It doesn't matter whether you have the source or not, your app / game / service stops working when a change is made. They publish a new API and you fix your code to use it. Or, they publish the source and your struggle through that and figure out how to change your code to make it work again. Generally it is faster to read the new API and fix your project that way (as long as the API comes out when the change does - or even before the change).

    8. Re:I see no problem here. by TheCarp · · Score: 1

      Yes but, you are thinking in terms of a developer. its true, API docs are a great starting point, and if well done, will allow you to recreate the whole API from scratch.

      Now.... its friday at 6 pm. Your companies bread and butter is an app that was built on top of an API run by a company that just shuttered its doors forever.

      If that API was based on open source, then you may have a few hours, or a day or so getting dependencies, looking over docs, getting it installed. Hell, if its really complicated, maybe a couple of days.

      To do the same from scratch? You going to have that site back up by monday?

      --
      "I opened my eyes, and everything went dark again"
    9. Re:I see no problem here. by sunderland56 · · Score: 2

      And how many times in your long programming career have you delved into the bowels of the Linux source to build a better *nix application?

      Speaking as a driver/kernel developer: on a very regular basis. Maybe not daily, but certainly several times a week.

      Sure, if you're a web developer, or work up in user space, you may not need to do this - but the reason that the web works as well as it does is because the low-level support is there, works well, and works efficiently. So the success of your application depends in part on the source being open, even if you never look at it yourself.

    10. Re:I see no problem here. by TheCarp · · Score: 1

      Right I never said that your app and its requirements can't be complex as to make this infeasible. However, not every app is in that situation. Not everything runs on google or facebook or uses their specific APIs.

      Yes, its entirely possible that this is the case. However, in any case, rebuilding without the original players is generally going to be easier and faster with the source available.

      Clearly, in the high volume world of 5-20k hosts per admin, this may not matter so much. The idea that anything that isn't relevant to people working in such an environment isn't relevant at all is... what I find a little ludicrous.

      --
      "I opened my eyes, and everything went dark again"
    11. Re:I see no problem here. by TheRaven64 · · Score: 2

      WINE implements the same APIs as Windows and several commercial products have shipped non-Windows versions by either compiling against winelib or just shipping a WINE wrapper. The idea in US copyright law that you can't copyright an interface means that any API is freely reimplementable (unless it is covered by patents, although patents cover implementations so are more likely to affect ABIs than APIs).

      The advantage of owning the API (which really just means owning the most popular implementation of the API, i.e. the one developers regard as authoritative) is that you have first-move advantage all of the time. Any changes to the API happen in your product first, then developers use them, then everyone else implements them. In between the second and third steps, you have complementary third-party products that only work with your system (or work best with your system).

      --
      I am TheRaven on Soylent News
    12. Re:I see no problem here. by acvh · · Score: 1

      The same can be said of an OS's APIs: "DOS isn't done 'till Lotus won't run".

    13. Re:I see no problem here. by GreyWolf3000 · · Score: 1

      The problem is that web app APIs can change at a moment's notice, without any announcement, and all the developers who depended on the API will be left out in the cold.

      While that's true, if they do it too often and to too great an extent they'll lose developers to some other platform; if the apps start breaking without replacement, users will start to leave for other sites. Facebook (as big as it is) is nothing without its userbase.

      As someone who has actually had to integrate with Facebook, in practice they can and do change their API constantly. I'd love to ditch facebook but my clients all require integration.

      --
      Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
    14. Re:I see no problem here. by i.r.id10t · · Score: 1

      Lets not forget the lack of a stable ABI for the linux kernel.. something that is done on purpose to avoid binary blobs. Which I can sort of understand, from the developers point of view, if they want to minimize such things. As an end user though, I'd rather just have good stable software that supports a large variety of good hardware, and if using a binary blob is required for that, so be it.

      --
      Don't blame me, I voted for Kodos
    15. Re:I see no problem here. by ckaminski · · Score: 1

      You forget that Open Source isn't about developers - it's about end-users. It's about end-users knowing that they'll never get end-of-lifed out of business because some kleptocrat decides they don't like them and kills off a product, or goes out of business, ad infinitum.

      Open source is more about the end user and their freedoms as it is the developer.

      Why do people always forget this?

    16. Re:I see no problem here. by aricusmaximus · · Score: 1

      When one company controls the source (and hence official version) of an API, then they have a competitive advantage over *anyone* else using that API. I would wager that Slashdotters younger than 30 (please stay out of my yard, etc...) never followed the software scene in the 1990's pre-Linux, pre-Google, pre-Firefox. At the time a serious question for *anyone* developing PC software was was whether it was worth it since Microsoft had such a huge competitive advantage due to owning the OS (and hence controlling) the Windows APIs. Microsoft killed Netscape, killed almost all competing Office products (remember Word Perfect and Ami Pro anyone?) partly because Microsoft app teams had access no one else had to Windows OS developments and enhancements.

      Thankfully the Internet happened and the standard API is no longer Win32 but HTML, XML Javascript, CSS, etc. We need to be aware of the same competitive advantage Google, Facebook, Amazon have internally and keep in mind that "OpenAPIs" at this time still amount to vendor lock-in and an inherent competitive advantage for the company owning the API.

    17. Re:I see no problem here. by NewYork · · Score: 1

      How can you debug without the source?

  4. Open API? by dyingtolive · · Score: 4, Insightful

    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...
    1. Re:Open API? by ThinkingGuy · · Score: 5, Interesting

      Another way of phrasing it (which I remember being used in the context of Microsoft's API): "software sharecropping."

    2. Re:Open API? by Tsingi · · Score: 5, Insightful

      Another way of phrasing it (which I remember being used in the context of Microsoft's API): "software sharecropping."

      I don't know why this is marked flamebait. I think the comment is rather astute.

      What is the point in building code to support a library that puts you in a position wherein you immediately become dependant on something you cannot control. Resulting in a product that largely makes money for someone else.

      That's not flamebait, it's wisdom.

    3. Re:Open API? by gl4ss · · Score: 1

      you know what's the only api product I used that did that?.. google api(for the search, back in the day). 1000 queries free per day.

      --
      world was created 5 seconds before this post as it is.
    4. Re:Open API? by brainzach · · Score: 1

      What is the point in building code to support a library that puts you in a position wherein you immediately become dependant on something you cannot control. Resulting in a product that largely makes money for someone else.

      Many developers have made millions by using these APIs. Smart companies make their APIs mutually beneficial and aren't planning on screwing developers for no reason.

    5. Re:Open API? by nbossett · · Score: 2

      The advantages/point are usually things like being able to do a relatively small amount of coding to produce a very useful tool (such as a plugin for PhotoShop, in which you avoid duplicating a prohibitive level of effort to add a small increment of functionality) or in which the users of that other companies service are specifically the target (app for Facebook: what the app developer actually wants to do is provide a small addon to an existing large audience, not to start a different social network people would have to sign up for). Yes, FaceBook app developer is quite dependent on FaceBook, but no more so than many other businesses which start out and sometimes continue to operate with a large amount of dependence on one key supplier or one customer (or a small number of them).

    6. Re:Open API? by Sloppy · · Score: 2

      When you hear "Open API" any programmer will think it just means a well-known or documented API; i.e. it's not a secret. Load the accumulator with the petscii character you want to output and JSR $FFD2 -- or make a certain REST call as documented at the service's site -- that's what people will think you're talking about, when you say "Open API."

      That isn't what TFA is talking about.

      He's talking about different services using the same APIs, being client-compatible. That is, if you make a competitor to AWS, use Amazon's API. If you make a Facebook competitor, use Facebook's API.

      WTF this has to do with Open Source, I'm not sure. It implies this guy thinks a trend will develop/continue where people move code off of their machine to other people's machines, I guess. And when code is running on someone else's machine, you don't care whether that machine's owner is allowed to maintain it themselves, so proprietary/free is meaningless to you -- both end up being effectively proprietary to you.

      Maybe he's saying that compatible APIs (which would be 100x better term than "open APIs") just make it easier to switch services, so if you're not getting the server maintenance you want somewhere, maybe you'll find it at a competitor, all without having to rewrite your client.

      And that's fine, but it's not nearly as useful as have a server under your own control. Free Software will always be easier on everyone.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    7. Re:Open API? by Spykk · · Score: 1

      It sounds more like a different way of saying API to me. Who coined this term? What makes these allegedly "open" APIs different from every other API?

    8. Re:Open API? by 10101001+10101001 · · Score: 1

      What is the point in building code to support a library that puts you in a position wherein you immediately become dependant on something you cannot control. Resulting in a product that largely makes money for someone else.

      Many developers have made millions by using these APIs.

      Many others make virtually nothing while greatly advantaging the API owner. And then sometimes the API owner decides to incorporate a clone of your product into their API, often at great expense to themselves with no direct benefit. The more popular your product, the more likely that is to happen. If you're lucky, you'll get bought out quickly and it won't just turn into a drawn out negotiation where they glean enough about how your product works to then dump you for another, cheap competitor or to go it alone.

      Smart companies make their APIs mutually beneficial and aren't planning on screwing developers for no reason.

      What percentage of companies are smart? How realistic is it to assume the smart company is the popular enough company and hence it's capable to develop for such an API in the long term? And what's to stop a smart company from one day turning dumb and ruining a decade of specialized work, requiring you to jump ship and start over building your brand? All of the above is a risk to open source APIs, but at least there's always the extra option of "if the developers go crazy, we can determine the cost of support of the API with perhaps a joint splinter group (look at the various open source forks) vs abandoning it for something else". That's about the most flexibility you can realistically get.

      --
      Eurohacker European paranoia, gun rights, and h
    9. Re:Open API? by brainzach · · Score: 1

      There is always risks in businesses. Even without being dependent on anyone, a disruptive technology can ruin you in a short time or a competitor will outdo you.

      Companies don't necessarily have to be super smart, but if they made it big, chances are they aren't stupid. They have no incentive to piss off developers because they know they will jump ship for something else.

    10. Re:Open API? by 10101001+10101001 · · Score: 1

      There is always risks in businesses. Even without being dependent on anyone, a disruptive technology can ruin you in a short time or a competitor will outdo you.

      Granted. The general point though is if you have the ability to advocate and support one model or another, open open source apis would be the best ideal and closed closed source apis would be the worst ideal. As I implied, you're basically stuck with whatever is popular at the moment anyways. Perhaps in the future you can have some say but perhaps not.

      Companies don't necessarily have to be super smart, but if they made it big, chances are they aren't stupid. They have no incentive to piss off developers because they know they will jump ship for something else.

      The heavily depends on how much of a "something else" there is. Look at how much Microsoft repeatedly pissed off developers by outright consuming other companies or obsoleting them; the monopolistic anti-competitive practice of bundling, after all, is a smart move to improve uptake of your extant product when you've otherwise saturated the market to the point that you're competing with yourself and you certainly aren't going to allow developer complaints to stop you. The general issue is, Microsoft was the better option compared to Apple because it was more open but because it was still closed source (and admittedly not entirely open and cloneable) one couldn't fork away from Microsoft because of the inherent lockin. That's part of the "largely makes money for someone else". Open source makes it a lot harder to hold a monpoly so reduces the risk.

      Of course, it's not like there was a practical alternative to Windows or DOS in the past that was more open. To the same end, there's no real practical alternative to Google and Facebook now. Part of that's just the inherent part of market inertia. Part of that's all the collected data which has nothing to do with code. But, then, in the long term most of that data will be churned over for new data meaning that someone with their code could potential unseat them if they managed to do all they did but better. And if you or I or anyone has any sway over the situation, I'd advocate that Google, Facebook, etc go open source to increase competition and reduce future potential lock-in.

      Open APIs are only a middle-term stopgap, especially as more often than not open apis aren't entirely open and cloneable; source meanwhile reproduce the results exactly even if no one understands why. Of course, in an ideal world open APIs would be truly open and there'd be multiple code bases, open and closed, so they'd no longer really be a stopgap. And certainly, I support the idea of Open APIs and open source and clones. But that still requires the source.

      PS - Feel free to replace in the above API with ABI, file specification, etc as I think it equally applies. Remember that the major complaint of ooxml was precisely that its openness was hindered by a lack of source code--and the felt undue complexity of trying to encode source code back into text more to maintain the status quo than to make a clean specification while often leaving out the more technical stuff because of either self-interest or the spec already being too complex. Of course, if they had explicitly spelled out the quirks in more general terms, I'm pretty sure people would have still been upset because MS would have had a leg up in both defining the spec to include the quirks they use in their own products and presumably coding it as they went. And if MS had just did a code dump and stated they weren't interested in standards, per se, I think people would have been even happier. To me, that's the situation with Google and Facebook. I think what they offer is but a means to their own end, and that end isn't good for the user let alone the developer, even if they can manage to enrich themselves along the way.

      --
      Eurohacker European paranoia, gun rights, and h
  5. No way by thetoadwarrior · · Score: 5, Interesting

    Like I want to build my software around an API that could disappear in 6 months to a year. Google is quite bad, imo, at dropping things out of the blue, facebook likes to break things and to be honest I'm not sure I'd want to trust their competitors either.

    1. Re:No way by MightyYar · · Score: 4, Insightful

      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.
    2. Re:No way by betterunixthanunix · · Score: 4, Informative

      Programmers seem to routinely toss away their entire codebase from time to time anyway.

      With disastrous consequences: Netscape, KDE4, etc. Throwing away a large codebase is stupid.

      --
      Palm trees and 8
    3. Re:No way by thetoadwarrior · · Score: 2

      I don't care if I make my money back or not. I don't want to wake up one morning and find my work broken. Most customers wouldn't look favourably towards paying for something that just dies without warning.

    4. Re:No way by brainzach · · Score: 1

      If you don't want to use their APIs, then you can't use their services to help grow your business and user base.

      Technology changes quickly and businesses need to adapt if they want to stay relevant.

    5. Re:No way by Paradigma11 · · Score: 1

      So you are going to build your own facebook and then start creating applications for it?
      Otherwise, having access to the source wont do you any good.

    6. Re:No way by Monchanger · · Score: 4, Insightful

      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.

    7. Re:No way by ArhcAngel · · Score: 1, Interesting

      Hasn't this been Microsoft's business model all along? They release the specs for their API's so third parties can develop for their OS. When a program gets popular enough they clone it and optimize it using undocumented API's and profit?

      --
      "A person is smart. People are dumb, panicky dangerous animals and you know it." - K
    8. Re:No way by shmlco · · Score: 4, Insightful

      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.
    9. Re:No way by MightyYar · · Score: 1

      Doing it just because I can "recoup my investment" short term is stupid.

      How is it stupid? You make more money than you started with. Provided the margin is sufficient, it is a smart investment.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    10. Re:No way by Dcnjoe60 · · Score: 1

      I don't care if I make my money back or not. I don't want to wake up one morning and find my work broken. Most customers wouldn't look favourably towards paying for something that just dies without warning.

      So having the source code to FB would solve that how? APIs change far less frequently than the underlying source code.

    11. Re:No way by Junta · · Score: 1

      Netscape was boned in part *because* of their crappy codebase. They had a hard time making it adapt to new capabilities and evolving standards. In the long run, that has worked well.

      With KDE4, I get the feeling that adherents have *mostly* toughed it out and found the end product acceptable. Sometimes to pursue a vision there is a long painful transition, but the end result may be impossible without taking risk.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    12. Re:No way by Junta · · Score: 1

      Most cases I see where a vendor is reliant upon a service they do not control, they make it clear in their branding message. If it should break, they say 'sorry, Google has discontinued this service'. It's not like they'll blame you and *not* your upstream provider. If facebook closed up shop today, no one would be blaming you that facebook doesn't work as the reason will be self-evident.

      Either it is something that will be *very* obvious and ubiquitous (like facebook or google+ being shut down) or it's something like google translate, where you can have an alternative backend provider or two to swap in without the users realizing.

      Programmers have to cope with this reality *all the time*. It's pretty well a hard requirement when the subject matter is data and userbase held by some entity like Google or Facebook.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    13. Re:No way by Oligonicella · · Score: 1

      What did you provide your customer base before the Google app tie-in? Or is your post purely hypothetical?

    14. Re:No way by m50d · · Score: 1

      Nope. The Netscape 4 codebase was thrown away because it was terrible, but look how the netscape 6 codebase turned out. If you don't have the skill/discipline/etc. to fix a bad codebase, you won't be able to write a good new one either.

      --
      I am trolling
    15. Re:No way by drinkypoo · · Score: 2

      So having the source code to FB would solve that how? APIs change far less frequently than the underlying source code.

      Unless we're talking about Linux ;)

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    16. Re:No way by thetoadwarrior · · Score: 1

      No, I'm not going to develop for Facebook, Google+ , etc.

    17. Re:No way by thetoadwarrior · · Score: 1

      People thinking in the short term is why the economy has gone tits up for the past few years.

    18. Re:No way by aaarrrgggh · · Score: 1

      The business answer is that as you recoup your investment, you re-invest in diversifying. Using your Google Translate example, you search out alternatives and build code to be able to share or shift load off of Google's service. Similarly, if you are "freeloading" off of Google's service, you need to plan that eventually you may need to pay for that functionality and build it into your business model.

    19. Re:No way by thetoadwarrior · · Score: 1

      There are companies that provide mapping data, translation services, etc for a cost and it actually makes more sense to pay someone who is going to keep their service around because it's their business rather than someone who provides something for free and may take it away at any time.

    20. Re:No way by sidthegeek · · Score: 1

      "Though a program be but three lines long, someday it will have to be maintained.'' --The Tao of Programming.

    21. Re:No way by Yunzil · · Score: 1, Insightful

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

    22. Re:No way by MightyYar · · Score: 1

      No it isn't - the economy went "tits up" because the housing bubble popped in the US. It rose and popped for many reasons, but mostly greed. Greed of large companies looking for easy and safe investments that paid well, but not doing the kind of due diligence that they should. Greed of mortgage brokers who falsified documents and behaved in a predatory way. And greed of individuals who threw out common sense and latched on to these deals that were too good to be true. There was also incompetence and reliance on bad models.

      But I very much doubt that there was a large number of people that were doing due diligence for 6 months out and ignoring anything beyond that - they just weren't doing it at all, or they were using flawed numbers that would have been just as flawed whether they looked at 1 year or 10 years.

      Anyway, if I give you the opportunity to make a good living for 6 months, you either take it or don't - but calling it stupid or shortsighted doesn't change the fact that someone else will seize the opportunity.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    23. Re:No way by Anonymous Coward · · Score: 1

      You're simply wrong, and I don't think you've had many years of experience in software development in many different environments. I've worked on multiple projects over the years where the legacy codebase was so absolutely broken, for so many reasons (including fun things like "the vendor went bankrupt and there's zero documentation" or "a college kid hacked this together in two months, a 20 other people have screwed with it since then, only two of which still work here now that it's been five years") that it made no economic sense whatsoever to continue working with it. It made more sense by far just to reimplement it. Sorry, but again, you're just wrong.

    24. Re:No way by thetoadwarrior · · Score: 1

      Greed and investing in the short-term go hand in hand and yes the housing market wouldn't have collapsed if banks actually looked at who they were giving loans to and thought about the fact that they can't pay for them and in the long-term taking on a ton of dead beats will drag them down. Instead they thought of the short-term and probably thought they could sell bad debt in the future forever.

    25. Re:No way by shutdown+-p+now · · Score: 1

      Actually, yes, it does. At least in a commercial enterprise, it's simply a matter of whether the cost of rewriting it from scratch is less than the cost of adding new features to it. As legacy cruft accumulates, and original architecture is muddied with hacks, adding features gets progressively harder as you start having other parts of the system break for very non-obvious reasons; and bugs get harder to debug because you spend more time just figuring out how the hell it all works in the first place. At some point, that cost begins to dominate any new development. On the other hand, new features (and their quality) is what sells, so if your codebase is so messy that the cost of adding those features is more than you can sell them for, it's time to rewrite.

      That this point is usually not where programmers think it is (because, let's admit it, we're all itching to take things that we believe to be broken, and remake them the Right Way) is a different matter altogether.

  6. Puhleez by Mathinker · · Score: 2, Insightful

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

    1. Re:Puhleez by Halo1 · · Score: 1

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

      It's a bit silly to answer the above to an article that ends with

      Open APIs are the new open source, except they require less geeky access to lines of code, and more programmatic interaction with software services. As an added bonus, open APIs don't come with the baggage of licensing fundamentalists.

      And of course, the main issue the fact that these open api's are very much "here today, gone tomorrow", which is also one of the driving force behind open source development (to reduce a third party's ability to take away features or to make it impossible to keep using some program on newer systems by refusing to update it in case of incompatibilities).

      --
      Donate free food here
    2. Re:Puhleez by msclrhd · · Score: 1

      Except for the fact that these Open APIs are built on top of Open Source. Facebook uses PHP and has contributed back code that improves performance. Google are using Linux internally with their own Google File System and BigTables. Other web services are using NoSQL and LAMP stacks.

      An "Open API" would allow an open source application to use that API. If it does not, it cannot be called an "Open API" as it is restrictive in what you can use to interact with it. It is rather a "Public API" that is documented for use by developers outside the company that created it. NOTE: An API can be both Open and Public, such as the Microsoft Win32 API.

      Also note that an API is not Open Source -- an implementation of an API is Open Source. For example, wine is an Open Source implementation of the Win32 API, but Microsoft Windows is a closed source implementation of the same API. An API is the contract between the framework/service/platform and the program, allowing the program access to information or functionality provided by the service, framework or platform.

      The article is misleading and is written in a way that looks like the author is trying to make Open Source look irrelevant.

    3. Re:Puhleez by Halo1 · · Score: 1

      I don't understand how your post is an answer to what I wrote. Whether Facebook is built on PHP or ASP.NET doesn't really matter in this context. The APIs this article is talking about are the APIs used by Facebook games such as Farmville that enable them to integrate with Facebook profiles, friends and whatnot. Or the APIs that people can (could) use to create mashups based on Google maps.

      That's also why I mentioned that these open APIs (open in the sense that third parties can use them) are not guaranteed to stay available, and hence do nothing to address one of the main drivers behind open source development (fighting vendor lock-in and planned obsolecense).

      --
      Donate free food here
    4. Re:Puhleez by Mathinker · · Score: 1

      > It's a bit silly to answer the above to an article

      It wasn't an answer to the article, it was a comment on the poster's summary (which I tried to make clear, by quoting the point I wanted to address).

    5. Re:Puhleez by Mathinker · · Score: 1

      I bashed SharkLaser, who wrote the summary, for the reason stated: he tried to subtly inject his own ideological position by being judgmental. He comes off as "preaching to the sinners", which totally turned me off.

      I actually greatly admire RMS, even if I don't totally agree with his ideological position. Calling SharkLaser's position the "Church of RMS" was meant to reflect on how I thought SharkLaser related to his own beliefs, not as a statement for or against the ideological position itself.

  7. They are not the same thing. by El_Muerte_TDS · · Score: 5, Insightful

    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. Re:They are not the same thing. by punker · · Score: 1

      +1 Right on. These are about accessing services, and the data they pump through more than functionality they provide. Open source is still the king of encapsulated functionality.

    2. Re:They are not the same thing. by HarrySquatter · · Score: 1

      Not true as there are plenty of private APIs. Windows, for example, has plenty of them. APIs are not necessarily always for public consumption.

  8. When is this news? by O('_')O_Bush · · Score: 2

    These APIs have been around at least since the Droid hit the market (which I was developing on). Facebook's Graph API is a newer iteration of their old API, but is at least a year old now.

    I don't see how this is news, or how these APIs wiill suddenly make companies rich in 2012... when the APIs have been around since at least 2007.

    --
    while(1) attack(People.Sandy);
    1. Re:When is this news? by sabs · · Score: 1

      2007?
      Try 1987 :)

  9. Prior art by Anne+Thwacks · · Score: 1

    This is hardly new - I think you will find it dates back to at least before the 1980's. The "Open API" model was used by both the Apple ][ and the original IBM PC - and it made them very successful. I am pretty sure it was not new at the time, but others may be able to confirm that.

    --
    Sent from my ASR33 using ASCII
    1. Re:Prior art by shmlco · · Score: 1

      I think there's a clear and distinct difference between an "Open" API and a "Public" API.

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
  10. Reduce revenue... by O('_')O_Bush · · Score: 3, Insightful

    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);
  11. Be Wary by samael · · Score: 3, Insightful

    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.

    1. Re:Be Wary by Dcnjoe60 · · Score: 1

      APIs change far less frequently than does the underlying source code. How would having access to the underlying source code mitigate the risk you are talking about? Surely, facebook and google don't just change the API while leaving the source code intact!

    2. Re:Be Wary by samael · · Score: 1

      I don't remember saying anything about source code.

    3. Re:Be Wary by Dcnjoe60 · · Score: 1

      Only two ways to access a feature - APIs or direct to the source code.

    4. Re:Be Wary by samael · · Score: 1

      My point would be that accessing the features that other people own is a dangerous thing, because they are not _your_ features, they are someone else's.

    5. Re:Be Wary by Dcnjoe60 · · Score: 1

      My point would be that accessing the features that other people own is a dangerous thing, because they are not _your_ features, they are someone else's.

      I would agree with that statement. My point was that when you must access those features from a third party, an API is a safer way than having access to the source code.

      There is a cost/benefit trade off. For a large company, with many resources, it may make sense to develop your own (as Google did with Google Maps vs Mapquest). For many, though, that is cost prohibitive and the only viable option is to access the third party through their APIs.

    6. Re:Be Wary by samael · · Score: 1

      Oh yes. If you _are_ going to create a product that depends on other people's then you want to use a supported interface, rather than depending on your knowledge of the underneaths of things.

  12. Guess not by ACE209 · · Score: 3, Insightful

    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."
  13. interesting idea but not FB by youn · · Score: 3, Insightful

    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 :p
    1. Re:interesting idea but not FB by betterunixthanunix · · Score: 1

      they don't care about privacy but even they would not do that

      You say it as if Facebook has some moral obligation to keep the database secret. They simply do not want to allow their competition to access valuable product data (the product being Facebook users).

      --
      Palm trees and 8
    2. Re:interesting idea but not FB by Count+Fenring · · Score: 1

      They do have legal obligations, actually. Most sites that handle financial transactions do.

    3. Re:interesting idea but not FB by youn · · Score: 1

      Not just moral... legal... facebook is under the scrutiny of privacy comittees for violating privacy laws in many different countries... That said, I don't see them lasting long if they offer absolutely no privacy to their users if they desire so. (yes, they changed multiple times what was available... but that is part of the reason they are investigated and even then, they allowed people to opt out of new features)

      --
      Never antropomorphize computers, they do not like that :p
  14. It's true! by Haeleth · · Score: 5, Funny

    For example, just this morning I replaced Debian on my computer with the Twitter API. It works great, boot times are much faster. Now I'm going to uninstall Firefox and just access the web via the Facebook API.

  15. Open APIs renamed: APIs by ciaran_o_riordan · · Score: 3, Insightful

    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

    1. Re:Open APIs renamed: APIs by Nerdfest · · Score: 4, Insightful

      "Published APIs" would probably be a better description for what I think they're trying to say.

    2. Re:Open APIs renamed: APIs by dkf · · Score: 1

      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

      But it's not practical to put a copy of everything on my computer, or on yours. Some things are too large to host on anything other than a specialist system, others are too complex. Because of that, it's more important to think in terms of having the data on devices you control (though you can duplicate it elsewhere if you want) and on having multiple options for each processing step; where relevant, OSS is a good candidate for building much of the processing and also for the managing of the data itself, but its key power lies in ensuring that there is a choice for people, that they are not beholden.

      We need OSS, and Open APIs, and Open Data Formats; they work together.

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    3. Re:Open APIs renamed: APIs by ciaran_o_riordan · · Score: 1

      read the linked article.

      He says that using services to access big stores of data (as search engines do) is a legitimate reason to use these APIs.

      It's worth a read. Go on.

  16. Walled gardens are bad by Morgaine · · Score: 5, Insightful

    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
    1. Re:Walled gardens are bad by am+2k · · Score: 1

      While you're generally correct, at least in IM a standardization process has been happening. Google, Facebook and MSN have adopted the XMPP protocol (RFC 6120) for chatting. Once you have a generic XMPP client, it's easy to connect to those networks (well, some coding is required for MSN and recommended for Facebook to use their oauth implementations, but that's trivial compared to implementing a whole new protocol).

      All except Google's are still walled gardens, but I guess that's company policy.

    2. Re:Walled gardens are bad by makomk · · Score: 1

      So apart from the fact they're walled gardens, each implement a different subset of the standard that corresponds to whatever actual underlying protocol they use, and (in the case of MSN and Facebook) have their own authentication system that no-one else uses, in theory with a good wind behind you they can actually be connected to with some of the same code.

    3. Re:Walled gardens are bad by am+2k · · Score: 2

      So apart from the fact they're walled gardens, each implement a different subset of the standard that corresponds to whatever actual underlying protocol they use, and (in the case of MSN and Facebook) have their own authentication system that no-one else uses, in theory with a good wind behind you they can actually be connected to with some of the same code.

      Well, yes :) Still, it's much better than what has to be done for other protocols.

  17. Oh noes! by Orgasmatron · · Score: 1

    If only someone could have foreseen this and warned you!

    --
    See that "Preview" button?
  18. Open source was never the way to get rich by HuguesT · · Score: 4, Insightful

    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.

    1. Re:Open source was never the way to get rich by greg1104 · · Score: 1

      It's not like one could develop an OS kernel based on some documented open API.

      One of the first design goals for Linux was following POSIX, even though the standard was too expensive for Linus. While standards like POSIX and TCP/IP don't directly state how an OS kernel must be written, wanting to comply with them does shape the basic form the kernel needs to take.

      If you read the Tanenbaum-Torvalds Debate thread, one of the recurring themes there is that even having easily available source code (as MINIX did) isn't enough. One of the necessary components to growing a software community is one or more maintainers willing to incorporate changes from contributors. And that's where these web service oriented companies fail the worst.

  19. 'Replaced' by analysethis · · Score: 1

    I'd like to see the evidence that points to an inverse relationship between open source and open APIs. This article mentions it in the title but there's nothing in the (marketing) article confirming this.

  20. Compare Apples and Oranges much? by Idou · · Score: 1

    Using an API with an established service and creating your own solution with open source are two very different things that are not necessarily mutually exclusive. Rather than open API vs Open Source, I think it would more be about using someone else's system vs creating your own. There will always be situations why picking one over the other will be advantageous. However, this has more to do with the goals of the project than one method being superior to the other.

    --
    Sdelat' Ameriku velikoy Snova!
  21. Tone of summary antithetical to article tone by ojintoad · · Score: 1
    I love Slashdot summaries. The very last line summarizes the tone of TFA:

    But at the heart of each is APIs. Open APIs are the new open source, except they require less geeky access to lines of code, and more programmatic interaction with software services. As an added bonus, open APIs don't come with the baggage of licensing fundamentalists. Praise the heavens!

    Emphasis Mine.

    There's a lot of places to come down on this. I develop with Google Apps, which leverages a lot of Open Source software in order to grant me the functionality to develop applications. I don't think that Private APIs are necessarily a hindrance to Open Source; They can obviously (and currently do) serve as a complement to provide necessarily complex and costly access to functionality my application or the machines that it runs on can't provide. And for me, the complex and costly bar is low, and this is where the line "Open APIs ... require less geeky access to lines of code, and more programmatic interaction with software services" actually shines. I hate running my own RDBMS on my own private web host. I don't really feel like setting up cron and the permissions on an account so cron can run a web application task safely. They are complications I don't care to deal with. Same with designing simple user account systems and storing passwords. These are problems I want solved, and most open source frameworks don't care to solve these problems for me. Google Apps does. And that's a huge complexity and cost (in terms of time) I'd have to invest micromanaging those things when I want to just write an application instead of doing server maintenance. And I know I'm not alone, or else there wouldn't be successful applications deployed on Google Apps.

    But that doesn't mean I don't use webob, or the open source WebApp2, or any of an additional set of open source python modules for various functionality in my application, and I am extremely grateful to those Open Source developers that chose to permissively license their modules. Without them, Google wouldn't be able to offer their services, and I wouldn't be able to leverage them.

  22. Old.... by Darrk+Assassin · · Score: 1

    This Idea is not new I mean MSFT has been doing this for a long time. IMO is this the best way for companys to release their products because A. it protects their works, but B is allows other people to make their products great. The problem that we see like mentioned was companies like Google who remove services but yet on the other spectrums we still have MS DOS support in Windows 7. I think companies can open up their APIs which allows protected business interest but still allows improvement for the development community. The idea why keep reinventing the wheel?

  23. Apples and Oranges by jjh37997 · · Score: 1

    Companies offering Open APIs are not hindering open-source developers.... Open APIs remove barriers for all software developers and allows them to make interesting products. What hinders open-source developers is other developers keeping their source code closed.

  24. #include " proprietary_lib.h" by martijnd · · Score: 1

    "Open" API's are the new include files to proprietary libraries.

    At least in the good old bad days the library (usually) didn't stop working after the you compiled & distributed your program.

    These days.. no such guarantees.

  25. It's a moot point by Junta · · Score: 1

    For the *most* part, the technical capabilities of sites like Facebook isn't the impressive thing. At small scale, anyone can make code to function well in that capacity. If your endeavor grew to the point that facebook does, you'd have the resources to do the harder, but not impossible part of making that stuff scale. These sites are not succeeding because of inherently superior technology, they are succeeding by knowing exactly how to draw everyday users into a platform. What philosophy to embrace (e.g. enforced consistency upon the users compared to myspace I think plays no small part in their success).

    Google has some interesting backend mechanics, but mostly in their case the bigger factor is the data they have accumulated and resources to acquire and store new data, with or without registered users. If you had software that could match Google Maps perfectly, it wouldn't matter if you don't have the maps, satellite, aerial photography, the street view, the ever-changing list of addresses and some meaning behind them (e.g. search for 'burgers' should include "McDonald's"). Some of this is big compute resources to crawl everything and drive cars around cities with cameras, in other cases they have business relationships to acquire data where millions of dollars changes hands.

    As code-centric people, we fixate on the code that glues this together, but in the most 'dangerous' cases against a 'Free' world the code being released does nothing as the userbase and/or proprietary data that powers it matters and massive compute resources are required to actually deal with it even if you had magic free access. No matter how you slice it, it is a capital-intensive game to play. The best a distributed endeavor can realistically hope to do is to piggyback on one of the large companies infrastructure using published APIs.

    --
    XML is like violence. If it doesn't solve the problem, use more.
    1. Re:It's a moot point by Junta · · Score: 1

      I will revise my statement because someone else pointed out the theoretical answer. Services like Facebook would have to be federated, meaning Facebook would either have to die or change it's behavior, which is unlikely.

      Of course, that's the social networking case, still no answer on things like most of Google's non-social capabilities.

      --
      XML is like violence. If it doesn't solve the problem, use more.
  26. Re:open source is a race to the bottom by Microlith · · Score: 3, Insightful

    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.

  27. cretinoid name by mapkinase · · Score: 1

    If you can't change API, it aint "open". It's just published.

    --
    I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
  28. Comparing apples to oranges by Bananana · · Score: 1

    Open APIs are about directing more users to their webs. Open source is about bringing developers together. Says, how can an open api replace an open source os?

  29. Re:Stupid headline by Dr_Barnowl · · Score: 1

    Because the software is running on your server, you are not distributing it, therefore you can even derive your product from GPL licensed code, provide an API, and never have to distribute your source.

    Writing your application on top of that means that you relinquish your software freedoms ; you are dependant on an implementation you cannot elect to control for yourself. Which is fine, as long as you are happy with that risk. Most people already do this on their own hardware, so it's not much of a stretch. And software increasingly comes with remotely operable "off switches", so I guess that's equivalent too.

    But even proprietary software on your local hardware doesn't require you to deliver your data into the hands of others to make it useful (by design - since it's proprietary you have no easy assurance that it doesn't do this covertly).

  30. Open API? - what a dumb name by SpinyNorman · · Score: 1

    An API is just an interface - there's nothing inherently open or closed about it. The code behind the API might be either open source or closed source, and in this case we appear to be talking about closed source.

    Not only is open vs closed a meaningless adverb to apply to an API (the closest concept might be public vs private - e.g. hidden Winodows API's), but the trend the article is attempting to discuss is the growth of cloud based platforms - i.e services made available via web services (SOAP, .NET, etc).. it's got nothing to do with open or closed source.

    Maybe the ultimate example of a "platformization" is Amazon - whose entire company is based on their own publicaly available (at a cost) web services, and this is where they make a lot of their money - from other companies building their web-based stores and services on top of the amazon platforms/services.

    1. Re:Open API? - what a dumb name by rubycodez · · Score: 1

      an API can be closed, if it isn't documented people can't write code for it.

    2. Re:Open API? - what a dumb name by SpinyNorman · · Score: 1

      Undocumented != Closed, and anyways you can certainly write apps to undocumented APIs if you can figure/reverse engineer what they do.. but you'd generally be unwise to as undocumented typically also means unsupported so they may disappear without warning in a subsequent release.

      The article anyways isn't talking about documented vs undocumented - they are struggling for the right words to describe the trend towards "platformization" of web based products - exposing their functionality via web-services APIs as a way to:

      a) directly make money via pay-per-call

      b) encourage 3rd parties to help the product become entrenched and attract additional users by building customized apps on top of it

  31. It's a new game... by Junta · · Score: 3, Insightful

    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.
    1. Re:It's a new game... by Nurgled · · Score: 1

      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.

      Several groups have tried and failed. The main problem is that Facebook owns the ecosystem today, and it's incredibly difficult to compete with that. Facebook has no incentive to inter-operate with anyone else, and they shut down any third-party integrator that they deem to be a competitor.

      I was once optimistic that "the rest of the web" could band together and create a decentralized system more interesting than Facebook, but Facebook has done such a good job of creating a hub-and-spoke model where Facebook is the hub and everyone else is the spoke that it's really hard to pivot from there to a truly-decentralized social network.

  32. Reference implementation by tepples · · Score: 1

    A company exposing an open web services API could endorse an open-source reference implementation of a client program that interacts with the API in a best-practice manner. I wonder if someone might have been complaining about lack of such a reference implementation.

  33. Application key by tepples · · Score: 2

    "Published APIs" doesn't help if one of the parameters is a cryptographic key to identify an application and keys for interacting with the production environment (as opposed to the sandbox environment) are hard for developers to come by.

  34. Quotas per application by tepples · · Score: 1

    So what do you do once your application gets so many users that your application key to access the "Open APIs" starts hitting its quota of queries for the month?

    1. Re:Quotas per application by ojintoad · · Score: 1

      Ask for a quota increase for free if possible, pay for a quota increase financed by your customers or your benevolence or whatever, or watch as your application doesn't get used because the queries start failing. If you had a vps and eventually your number of users maxed out the ram or GB/month limit, it'd be the same thing.

    2. Re:Quotas per application by tepples · · Score: 1

      Which means an "open API" becomes meaningless when providers of web services demand prohibitive sums to increase the quota to a reasonable amount.

    3. Re:Quotas per application by ojintoad · · Score: 1

      I agree with that. The question then is whether or not the cost was arbitrarily driven up to run the client out of business or because the cost of running the services behind the "Open API" is simply increasing. And in theory, if you can re implement the API or someone cheaper can (as the article advocates, people should compete with AWS by reimplementing their API and using it as an open standard) then there is less vendor lock in.

      I don't really like the term Open API, that's what the Register author used and I went with it, but I myself confused that term in my original post by saying "Private API" once. The APIs are open perhaps, but the implementation costs money. For many developers, it's worth the cost and the risk of that cost increasing. For some it isn't.

    4. Re:Quotas per application by tepples · · Score: 1

      And in theory, if you can re implement the API or someone cheaper can

      Except you can't because the data with which you want to interact is behind one company's instance of the API. Just because you can replicate EC2, S3, or any of Amazon's other "cloud" offerings doesn't mean you can replicate the goodwill associated with the Amazon product catalog. Only Amazon has product listings posted to Amazon, only eBay has product listings posted to eBay, only Twitter has microblog entries posted to Twitter, only Facebook has information about the user's Facebook friends, and only Google has the databases powering Google Search or Google Maps.

    5. Re:Quotas per application by ojintoad · · Score: 1

      At least with Maps that's not true, and does Bing or Ask Jeeve's not exist?

      If only one provider of content exists and there's no alternative that strikes me as a problem of a Monopoly, not any inherent problem with "Open APIs." Open Source software can't solve the problem of Amazon having decades of user data or Ebay being the top provider of auction sales.

  35. Problems with OpenAPIs by WOOFYGOOFY · · Score: 1

    There's two kinds of open APIs in the world. Those that promise backwards compatibility and those that don't.

    Those that don't are free to improve their product release over release in any way they see fit. Previously existing plugins may however break as a consequence of an open API change, creating problems with users who expect their plugins to continue working and plugin developers who hear from their users or lose reputation when their plugin blows up. Plugin writers are expected to rewrite their plugins with every new release. They hate this, and what's more some plugin writers will not, forcing the user to chose between your upgrade and their plugin.

    Let the finger pointing begin.

    Now, those that do promise backwards compatibility, they're TOTALLY screwed.

    The number of ways exposing your API and keeping it backwards compatible has of eroding and eventually destroying your code base is an awesome thing indeed.

    You cannot remove anything you've ever made public. If you do, you break everyone.

    If those un-removable things represent constructs which are central to the intellectual framework of your public API - what makes your API comprehensible, guessable, sensible, and you've made a mistake in your conceptualization or more likely you've made a decision which reflected an immature or incomplete understanding of your domain, the only way out of your bad decision is to create a new API with the new concepts that is sort of like the old but not really because here's the way we're thinking about our domain now... hello? ... hello? ....are you with me?... hey... where ya goin?...

    Only in very static domains in which there are very strong public conventions about what does and does not exist is it possible to know with anything approaching certainty what set of concepts will prove durable and which are dead ends and over simplifications / over complications.

    You have no idea what class names developers are using in their own libraries. If come to use the same class name as they are using, then unqualified uses of the class name in any file which imports both libraries is rendered ambiguous. Now your next release is breaking any plugins who used any of the same names in their own private libraries, even though those plugin developers did exactly what you wanted and nothing which was forbidden. Whose fault is that? heh heh heh.

    Backward compatibility also has the effect of forcing you to freeze key parts of your internal design which have accidentally leaked out into your open API owing to leaky abstractions. And there will be lots of them. Yes. There will.

    People will use your API in unexpected ways and come to rely on the the peculiarities of the particular implementation you thought you were hiding behind your open API. We're talking developers using things like program flow and call order of your private methods, relying the fact that you're running something on a particular thread, timing issues, the fact that a method doesn't return NULL etc etc. None of these things is documented as part of your open API, yet developers will come to rely on them and be angry and confused when it doesn't work anymore.

    If you expose in anyway a String type, then rest assured plugin writers WILL find it and come to depend on it. Which brings us to the issue of plugin writers using whatever reflection capabilities your language offers.

    Sure some of this is their fault (and a lot of it is not) but so what? What do you think when as a consumer your software blows up and you write the person you bought it from and they point the finger elsewhere?

    Whole parts of your language toolbox are just off limits. You cannot expose non-final anything because someone will extend it with a method or field name that you yourself will want to use later, causing the above mentioned name clashes.

    . . That means you cannot improve your OpenAPI through the techniques of extension and inheritance.

    1. Re:Problems with OpenAPIs by greg1104 · · Score: 1

      The existence of the IETF standards disproves this is the way things have to happen. That works by having multiple interoperable implementations before the standard is accepted. Then no one can rely too specifically in implementation details; any simple test against both implementations would fail. Your arguments around API issues are a bit narrow in terms of how language implementation specific you're making them. There's no reason the sort of web services being discussed here can't use a RESTful type of API for things, with published source code that implements it.

      Versioned APIs are another useful path through the backward compatibility vs. innovation trade-offs. If you push the concept of an API version into the software very early, that gives more freedom to release a new one that innovates as necessary. The Mozilla Add-on version mechanism is one of the most popular examples. Add-ons break, but the scope of that problem is certainly not as dire as you're making it out to be.

    2. Re:Problems with OpenAPIs by WOOFYGOOFY · · Score: 1

      Thanks for your informative reply.

      At one point early in my career I was charged with implementing a multipart form POST method from section 9.5 of RFC2616 for HTTP 1.1 using the data format in RFC1867 which was from IETF.

      I succeeded, but because servers had their own implementation of this same protocol and it wasn't defined using EBNF, that is, absolutely specifically, interesting things resulted.

      It doesn't matter what those interesting things were - I'll tell you in a second- except in so far as they were unanticipated and serious side effects which were nevertheless conformant to the spec.

      What I hear you saying is- if we screw around with this enough, give people enough time to shake most everything out, then as a matter of practice standardize on a few specific implementations which no one bothers to rewrite, then everything will just work.

      Sure you didn't say it that way, but that's what in practice happens and that is what in theory has to happen for it to work at all.

      But this is a different animal from an open API, where people are specifically NOT going to standardize on a set of canonical implementations that function as defacto standards and all have learned to play nicely with each other.

      Plugins are all going to be written by different teams who know and care nothing of each other's efforts. Each plugin is a completely novel attempt to write a new handshake with the API from scratch, relative to other plugins. There is no canonical implementation of anything shared and what's more, there is not any long term, many cycle iterations where we try it and see what happens.

      Yes if you allow API versioning you can get away from these problems, but another name for API "versioning" in "non-backwards compatible", which is what I am recommending.

      Sure what you're describing vis-a-vis IETF standards works for some use cases, but really a commercial product with an open API is not one of those use cases.

      As promised, here's what my perfectly legal implementation of RFC 1867 did. It took down any Netscape server I pointed it at. The POST I formed and data I sent was received and was in no way malformed, but the code that was in the Netscape server was doing *something* when it received the request that caused it to just blow up, throwing stack traces on it's way to out the door. Without knowing it, (and this is inevitable) the Netscape server was written to process a SPECIFIC implementation of that request.

      Since all servers were Netscape servers back then, my little request amounted to a fucking universal death ray. With a little scripting, I could have have taken down the entire internet overnight.

      It's what happens and it's no one fault. I *screwed around* with my end where *screwed around* means changed the POST and data in ways which were nevertheless as conformant as the original and the problem "went away" . Woo hoo!

      I knew what changes I had made- they were trivial- but I never knew what the problem was since it was the side effect of a private API's undocumented set of (unconscious) expectations- a leaky abstraction.

    3. Re:Problems with OpenAPIs by greg1104 · · Score: 1

      Saying that API versioning rejects backwards compatibility isn't quite right. The transition to adopt HTTP 1.1 instead of 1.0 didn't involve immediate backwards incompatibility. It's possible (albeit more expensive) to roll out a new version while simultaneously continuing to support the old one for some time. That's the way many real systems that need to operate while continuing to improve lurch forward. I work on PostgreSQL, and the current command line client can still talk to server versions going back at least five years. That doesn't stop introducing new versions of the client protocol that new clients and servers know how to speak.

      As for the specific Netscape server crashing example you gave, there are two missing pieces there: a second server implementation, and having open-source implementations as a reference. The fact that closed-source code can be buggy in an undocumented, inexplicable, and unfixable way is well understood. I don't see extrapolating a useful argument for or against APIs from that though; I just see one against using closed source software.

    4. Re:Problems with OpenAPIs by WOOFYGOOFY · · Score: 1
      Yeah but the article was about how people are choosing open APIs INSTEAD OF open source code. So I am addressing the use of open APIs absent open source.

      Supporting two incompatible APIs is possible, but that's not backward compatibility in the API, that's supporting two APIs, the latest of which is not backwards compatible . So Postgres does that.

      What you're describing is an approach to a solution for customers- hey! we support that previous API also and you can go on using it! But we have this new one.....

      The article is about open APIs instead of open source (my reading, but also, right in the synopsis of the article). My point on this topic is, there are two kinds of API- ones that are incompatible with previous versions and ones that are incompatible with reality ;)

  36. MOD PARENT UP by walterbyrd · · Score: 1

    I thought the exact same thing. How do open APIs on facebook replace Linux as an OS?

  37. off by a few decades by rubycodez · · Score: 1

    The open API model was used at least since the late 1950s, business computer systems have always needed customization and developers.

  38. Foolish Approach by Anonymous Coward · · Score: 1

    "a Windows developer has absolutely no use for the Windows source code"

    Stupid devs don't look under the hood. They don't even know what is running on their system most of the time. That is exactly why there are so many virus issues and zero-day flaws that remain unpatched. Have you heared of UPnP, DCOM, SMB, NetBIOS or any of the other easily exploitable Windows "services"? How about the trojans inserted into VNC for Android Phones?

    You can live with blinders on, or you can view the source.

  39. Ok by Junta · · Score: 1

    I retract my criticism, I somehow completely missed the point about federation and assumed someone was oversimplifying the situation (as the original article did). Of course, open source is orthogonal to this (this thread hasn't brought it up, so I think that's well understood), you have to modify the behavior of Facebook, not have read access to their source.

    --
    XML is like violence. If it doesn't solve the problem, use more.
  40. re: Open APIs might be the way to get rich in 2012 by microphage · · Score: 1

    Only if certain vested interesteds would like it so. If such it would be a disaster for the ecosysten .. er ... monoculture. It will be good for the people who develop these "open APIs", but not so good for the rest of us.

  41. Hindering? Not really... by TemporalBeing · · Score: 1

    Consider this - Facebook uses a lot of open source projects to deliver their site; and they've contributed a lot back to those projects. They may not release source directly (though there is http://developers.facebook.com/opensource/), but does that really matter in the end (as others have pointed out)? Even if they don't contribute 100% of their changes back (which since they are not distributing the code to others they are perfectly fine to do per the GPL - all versions of it), they are still doing well with promoting open source in many ways, and the fact that they've opened up an API that others can utilize without hinderance enables the platform they do deliver to be relatively easy to access from RMS "free" open source areas.

    Same for Google, which does do some distribution but also funds a lot of open source projects through Google Summer of Code.

    So how exactly are they hindering open source?

    Even Microsoft has released several projects (wix.sf.net to name one) under true open source terms (GPL).

    --
    Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
  42. They start out free. Then they start charging. by Animats · · Score: 1

    Google once offered access to their search engine via a SOAP API. That disappeared years ago. Then they offered more limited access with the "Google Web Search API", which came with an obfusicated interface, a restrictive EULA which permitted its use only for widgets on a web page, and is now closed to new users. Now they have the Custom Search API, where you get only 100 queries a day before you have to pay.

    Yahoo used to have a Yahoo Search API, which was free. Then they had the Yahoo BOSS API, which was also free. Now they only have a pay API.

    Bing's search API remains free, but you have to sign up with Bing first, and Microsoft reserves the right to start charging.

  43. Stop! by TheRealMindChild · · Score: 1

    Open APIs can be used by companies to grow their user base...

    Seriously. Stop that shit. "Grow" is not synonymous with "increase", and no, you don't sound cool.

    --

    "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
  44. A Serious Question by rabtech · · Score: 3, Interesting

    As a software developer this is a serious question for me and one that I've never gotten a satisfactory answer to.

    How can I feed my family or control my own destiny if the software is all I have? Am I not dependent on the benevolence of a corporation or university to fund my project or work as a clerk or something during the day and code at night? I know Open Source companies can make money on services or hardware but I'm not an Open Source company, I'm just one guy trying to make a living. I don't have the capital to produce hardware and my software is designed for end-users who don't require much in the way of services.

    If I were working on some glue code that might be useful to other developers and where I would benefit from their contributions I certainly would open source it (and I do contribute patches to some of the open source projects I use). I also get the idea of an open source OS or other large projects because so many companies depend on it there are enough "payers" in the pool to fund a lot of full-time devs - more than enough to cover the people who make millions off it (eg: Linux) yet contribute nothing back... plus with millions of users you have enough part-time tinkerers that you also get significant contributions from them.

    But I just don't see why I would open source my apps. No company in the world can pay my salary based on them, yet there are thousands of users willing to pay $0.99 for them, enough that I can keep my hardware up to date and have a little bit left over to go out to eat every month (certainly not enough to quit my job). But there aren't enough users that there would be a lot of programmers willing to contribute.

    If I open-sourced them, I'd be in the same position as Google with Android - funding the majority of it but having Chinese search companies replacing all my services with their own and selling it while simultaneously cutting off part of the revenue stream I use to fund further development.

    I like open source, I use it, I contribute to it, but I have absolutely no desire to follow the Stallman "everything must be open source!" philosophy. I'm interested to hear other dev's thoughts on this stuff...

    --
    Natural != (nontoxic || beneficial)
  45. wrong headline by znrt · · Score: 1

    should read: "Universal Literature Increasingly Replaced By "The Walking Dead" episodes". FTFY.

  46. Actually by salesgeek · · Score: 1

    Most of the platforms with APis are running on open source and their developers are contributing code back. Nothing to see here.

    --
    -- $G
  47. Not such a bad deal by vga_init · · Score: 1

    If the API for something is open and well document, that's already one major step toward implementation. I think open API's are a good thing, because when that kind of information is out in the open, proprietary services may exist, but also open source developers are more free to implement their replacements for those services or systems. This is much better than, say, having to deal with software systems that have secret and closed API's, to the extent that you can't make anything that's even compatible with it.

  48. Cloud logic by HalAtWork · · Score: 1

    Just because you can hook into a service doesn't mean it will be available later, or available under the same terms and conditions. Better to be able to control your own destiny.

  49. More Open by tokul · · Score: 1

    Open Source is also replaced by OpenOffice, Shared Source etc. Stop basing your decisions on matches in product names. People won't stop eating apples, if you give them ipads to eat.

    You can call Google and Facebook things APIs. I call them data miners and proprietary libraries designed for specific application. 'Free online stuff' users fail to realize that they are running third party code on their sites and that code is outside of their controls.

  50. My simple answer by gwolf · · Score: 1

    I have an incentive to free my code: Reputation.

    I don't do consulting anymore. When I did, many clients arrived to me as I was a well-known figure in my country's free software circle – Mostly as a speaker and as a security-conscious sysadmin, somewhat (although by far not so much) as a programmer. I was able to set the costs for my work because people arriving to me didn't just want a random firewall salesperson – They wanted me to set up their perimetral security.

    Nowadays, I don't do consulting because I have a job at the university that allows me to be freer, schedule things my way, do what interests me. How did I get this job? Same thing: I showed I knew my lines way beyond what a resume can do it. I showed the projects I worked with.

    Were it not for free software, I could not have had access to the tools I used and learnt with. And I could not contribute to projects. And I'd have a shittier job.