Friday, April 9, 2010

Jobs Bans Non C Libraries. Insane Restraint of Trade

Last night I wrote about Steve Jobs insane 3.3.1 section in the new iPhone developers license which Jon Gruber discovered here, and I just want to clarify something.

People are writing that this is a ban on Flash, and cross platform tools. It is, but that is not what I am concerned about.

3.3.1 not only bans cross platform *tools*, it bans *everything* that is written in other languages and are ported to C. This, obviously, includes libraries.

By defining the rule as being about what language something is "originally" written in, we now must be supposedly concerned about the *provenance* of our code, and not just what it does. If a math library, or a physics engine, or a string package, or whatever, was *originally* written in some other language, and ported, then it violates this rule. This concept of what language something is written in is an insidious concept and strikes at the core of product development and of computer science in general. Everything is built on other stuff, the language provenance of which is often unclear. This language is fundamentally unreasonable, and un-enforceable.

Trying to control where something is originally done is attempting to control the thought process that yields a given result. Because if you thought of it in Java, and wrote it in java, and then, whether by hand or by tool, converted it to C, you are now outside the bounds of 3.3.1.

Some may say my interpretation is too pedantic. But the point is that in order for Apple to limit people in the way that they want to, i.e. to prevent the use of a given tool, they are inflicting collateral damage. I do not think there is a way to achieve their goal without such ridiculous restrictions. I have not done my legal homework here, but this seems to be a clear example of restraint of trade, a basic tenet of contract law.

I have no question that this will be tested in court. I don't think there has ever been a case like this because only Apple could make such a ridiculous attempt to control how developers work. But what is interesting here is that allowing this provision to go to trial may put the entire App Store concept under a legal microscope. Because it seems to me there is a reasonable risk that not only is 3.3.1 restraint of trade, but that the entire "you can only sell apps on iPhones and iPod touches that we approve" thing is found to be restraint of trade. Wouldn't that be tasty. Adobe, and/or class action lawyers start your engines!

35 comments:

  1. Can adobe restrict apple from using their software to design their interfaces?

    ReplyDelete
  2. How many apps do you need to support the case that Apple is not restricting trade? 200K? 300K? I find it ridiculous that Apple can't govern its iPhone/iPod Touch ecosystem. If Apple were only selling 100K iPhones/year, everyone would say it's a flop. No one would care. They would call Apple a loser. But at 50M iPhones and 140K apps later, people want to cry because Apple has their system locked down? Really? I can't understand the anti-Capitalist mentality in this country. It's no wonder unemployment is at 10% (probably higher). We want companies to be successful, but not too successful. Geesh.

    Here's a simple concept we all need to adhere to: don't like the product/terms/service a company provides? Don't buy their product! No lawyers needed.

    ReplyDelete
  3. Apple own their App Store and they can freely choose to have these rules or not.

    A real world example: I own an Organic Store; every product I sell must be Organic and I have final say to what products appear for sale in my store.

    There are many other App Stores that accept non c libraries. Apple does not have the monopoly.

    ReplyDelete
  4. I greatly hope 331 is legally shown to violate some anti-trust law or a new one is made. The premise of it is very ugly

    ReplyDelete
  5. Wow - i dont like C# or dotnet so i dont develop with them and say that MS is evil. That is case here Apple and MS are evil or just doing business. Both the same. And abobe is in bed with MS cause they linked internal flash code to dotnet. Now they cry wolf at Apple.

    ReplyDelete
  6. The "Organic Store" example is a bit off.

    It should more like this:
    "I own an Organic store; every product I sell must be Organic, and I happen to sell soil that you can use to grow these Organics with; Oh, another store started selling soil; Nevermind my previous rule, NOW every product I sell must be grown using MY soil"

    This is anti-competitive behavior, and could be a case for a lawsuit.

    ReplyDelete
  7. Joe,

    I don't think Flash is any way linked to .Net.

    ReplyDelete
  8. Why would this be tested in court? Apple is free to restrict the software used on its product however it wishes, to whatever benefit or detriment to them that customers choose.

    ReplyDelete
  9. Every developer that invested time into learning any of the 3rd party convertors (titanium, phonegap, etc.) as well as whoever was banking on adobe's flash to objective-c convertor is obviously being targeted by this apple closed-minded legalese. Strict interpretation of the language included as you alluded to above would include just about every graphic library out there as there isn't one of those that was built ground up for iphone without leaning on any pre-established code. I'm guessing its not apple's intent to enforce the language this strictly because that would be saying goodbye to games as a whole. They'll revisit and keep working it over until they come up language that blocks just what they want to block and competition will just be the worse for it.

    ReplyDelete
  10. So Apple is allowed to restrict what appears on it's app store but Microsoft isn't allowed to restrict what programs you install on your operating system? F**K Apple.

    ReplyDelete
  11. "So Apple is allowed to restrict what appears on it's app store but Microsoft isn't allowed to restrict what programs you install on your operating system? F**K Apple."

    Microsoft was punishing OEMs who shipped competing software by threatening their Windows licenses, which would have been a death sentence due to Windows' dominance...Apple is controlling what goes on its store for its own hardware platform, which you're free to not use...quite a big difference.

    ReplyDelete
  12. It's more than just a consumer "your free not to use it" ideal. It's more of a "your free not develop for it"... which is basically the same as saying "your free to make your livelihood by targeting small subsets of other audiences rather than our large and established one because we want to do everything possible to make sure every dollar of opportunity is harvested by us." Sure, I could just invest the time to learn their proprietary way, but where does the conformity stop? A lot of people have already invested a lot of time to learning how to get apps on iphone and are now being told there is a new standard that will require them to reinvest all over again. What if I do it the "apple" way and tomorrow they decide to make me invest again to conform to another new standard because they feel they need to block it in order to keep their competitive advantage in the market? The consumer also ends up getting hurt in the long run because development that was being made and progressing well with open standards had to take huge steps backwards to conform to their whims which results in a less gratifying experience.

    ReplyDelete
  13. This is not an anti-trust issue. There are alternatives to suing an iPhone. Get over it. The iPhone is NOT and will NEVER be an open system.

    ReplyDelete
  14. Irrelevant. Apple like any company can restrict the use of their software, and what code their software is written if they like. It is their product. I don't give a damn if open source pangs at your heart. Its business not a fucking philosophy. Apple has the right to restrict their product any way they see fit. And people have more than enough right to take their business elsewhere. Just because YOU want it be a certain way doesn't mean they have to mold it after your wants (which is also irrelevant) Just take your business and applications elsewhere. period.

    ReplyDelete
  15. Apple can do what they want. If developers don't like it, download the Android SDK and start developing in whatever language you want or are able to make work...

    Developers, if you don't want to be told how to do your job, don't support a company that tells you. The iPhone and iPad rely heavily on ISVs. Apple promotes and shows the independent apps that developers like yourself write. You only have yourselves to blame for propping up Apple. Apple is the new Microsoft.

    Right now is a critical point, Android is gaining rapidly on Apple, and this move can be just what it takes to shift the power from Apple to Google. Sure, Google does some crap things, but compared to this, Google is angelic. Users will eventually find that their Android owning friends are getting all the cool apps, and the balance of power will turn. It's free market capitalism!

    Think Different: http://developer.android.com

    ReplyDelete
  16. Open source? Who's talking about open source? That doesn't even make sense. We are talking about the standards for developing on their platforms that are being open or closed. Business not philosophy? Umm, its bad business to close doors for people developing for your platform mid-stream. It's bad business to slap the people in the face who made the 140k+ apps that help make your product attractive to consumers and prolong its useful life. Its apple's hardware so just deal with it? I don't know about touting "antitrust" laws but please excuse me for being critical of them for just being plain stupid. Apple does some things very well, but they also have historically hamstrung themselves from being so much more. This is one of those moments.

    ReplyDelete
  17. I agree with Apple.

    This isn't restraint on trade. Any developer that doesn't like it can move on to Android, Microsoft, Symbian, etc. etc. etc. There are a ton of other platforms to ply your trade in.

    Apple wants to control its own destiny and not be treated like a second class citizen. I think anyone of color realizes this.

    Adobe has treated Apple like a second class citizen ever since Apple gave up its partial ownership of Adobe. Look how poorly Flash runs on Mac OS X compared to Windows and Linux. And NO, it isn't due to lack of hardware acceleration (which is possible only on a few Macs). VLC runs way better than Flash when it comes to video on Mac despite the fact that Flash video is based on H.264.

    Adobe wants to foist its parasitic platform on every other platform, leading to control of that platform's destiny. Apple will have none of that from Adobe or any other 3rd party SDK developer. Period.

    Multi-platform apps also are poor in quality compared to natively developed apps. Apple's play is also a play for quality.

    ReplyDelete
  18. @Bobby Orr said, “I'm guessing its not apple's intent to enforce the language this strictly because that would be saying goodbye to games as a whole.”

    IANAL (either?), but I think the prohibition is against development tools calling iPhone APIs except by the developer. Your graphic calculator could have a matrix routine written in FORTRAN, as long as you could link it in (you can), and you use your own code to call the Apple APIs. Anyway, most of those graphics libs are probably in C or C++, specifically allowed to interface to the iPhone APIs.

    (Know any developers who code in C or C++? There are a few.)

    The ban is to force devs to get up close and personal with the Apple APIs, not use them thru a 3rd party tool that allows— actually, forces— the dev to be indifferent to the platform. Effectively, you can build a generic-looking app for the iPhone, but you won't be forced into the lowest-common-denominator appearance of the tool.

    Say what they do about hurting developers, Adobe is the biggest victim of this. 99%+ of current iPhone apps were written in the free(!) Apple coding environment, so this mostly impacts CS5.

    So let's play Adobe CEO:
    [1] I am struggling for dear life to get full (not lite, or beta or preview or crashy) Flash to run on ONE SINGLE SMARTPHONE—AT LEAST ONE!— which is not today the case. Sooner or later the blogosphere will blame me instead of Steve Jobs.

    [2] I have thrown my many bright engineers at this challenge— desktop-scale ambitions on a platform with 256MB RAM, not 1024K or more; 600MHz CPUs, not 1500MHz or more; and 3 to 5 WattHour batteries, not a laptop's 50 WH and certainly not the 150W desktop power.

    [3] Now, this A55#073 Apple, who's been dissing my firm's technical talent, wants Flash CS5 ready to support a bunch of features than none of my other target platforms offer. For the 6 customers (developers) who might actually care, since they wanted a *generic* development tool.

    Question 1: How many engineers will I take from my Mac Photoshop team, which is midway with a major code rewrite that users are clamoring for?

    Question 2: How many engineers will I take from our various Flash projects, especially our critical smartphone efforts?

    Question 3: How can I justify any number greater than zero to my shareholders?

    Extra Credit: Why would my Board of Directors not ask for my resignation if I spent so much as another 5 minutes even thinking about non-zero answers?
    = = = = =

    You see the problem: Adobe doesn't care enough about Apple to suit Apple. Probably, shouldn't. I personally think they should go back to their Chief Technical Officer and figure out how to look Really Smart instead of Really Lame.® Watch out for the Mythical Man Month but otherwise do a mea culpa and rethink what our Core Competencies are and what is just a Neat Idea.

    ReplyDelete
  19. Why was Windows being shipped with IE a violation of anti-trust laws but what Apple is doing not?

    ReplyDelete
  20. Apple sells about 7.5 million handsets a quarter - Nokia sells over 100 million handsets per quarter. Apple has about 20 to 25 percent of the Smartphone market. Obviously neither is a monopoly or even close to being the largest. Google Android is the fastest growing. Again not Apple. So why are so many people upset about this change? Well it is because Apple products work are easy to use and their customers are usually one that have money to spend on things like software. Why do people like the iPhone and are willing to spend money on software? Because the iPhone works - there is one phone - version after version works the same with increasing numbers of improvements. You know when you buy an iPhone that the software will be available and will work with your phone - there is no fragmentation of the market. Why do developers continue to put up with Apples rules for a small handset maker? Because the App Store is a proven money maker for developers and Apple users spend money. Why does all this happen? Because Apple keeps control and makes it work!

    ReplyDelete
  21. I think it is worse than craziness. I argue that Apple has actually reached hubris, and am trying to bring them back down to Earth: http://wanderingcoder.net/2010/04/09/rally-3-3-1/

    ReplyDelete
  22. @graphicaliber-- Anon gave an indirect, but meaningful answer: giving away IE was perceived as leveraging their de facto monopoly on the market for desktop OS's.

    Legally defining "a market" is pretty much case-by-case; the Bush Justice Dept decided not to contest Microsoft's appeal (letting an already-won case against them die), and SCOTUS has put some hurt on the foundational Sherman Anti-Trust Act in other ways.

    Apple likes to pretend that that iTunes App Store is "a market" but their lawyers probably keep them from saying as much. Given how dynamic boundaries are (a big part of Microsoft's unsuccessful defense), I don't think there'd be much support for defining a small subset of "phones" or "portable personal computers" as "a market" that would be subject to anti-trust concerns. If I were a dev locked or kicked out of the iTAS, I might try a restraint of trade argument, but that goes under the heading, "if you attack the King, you dare not fail."

    Even if the Obama Justice Dept was really up in arms about this, I would guess there's no appetite for charging that their actions are breaking currently-accepted norms of commercial behavior ("laws").

    PS: IANAL, in case it's not obvious. Not even close.

    ReplyDelete
  23. Calling it restraint of trade is idiotic. This is being done because of the way multiple-tasking is implemented in OS 4. Get a friggin clue and learn to develop in a real language.

    ReplyDelete
  24. Kids, this is not even remotely the same as Microsofts multiple felonies. If you want to make that inane comment you have a lot to learn. Hardware developers restrict such things all the time and it hardly a legal issue. How anyone thinks it is is beyond me. If you think anyone is making money from Android and its iPhone wannabe OS then go develop for it. Just remember that os can STILL only load a handful of apps at a time. Also hope the iPhone doesn't get on other carriers which will hurt Android big time. In the meanwhile iPhone sales and app sales will continue to do very well especially with the iPad out. Most of the whiners couldn't write a line of code anyway.

    ReplyDelete
  25. Too bad you didn't have room for the phrase "I have not done my legal homework here" in the title of this post, too.

    ReplyDelete
  26. I agree with others that Apple's recent "choices" will be judged by the market, rather than a judge.
    iPhone seems to be loosing market share to Android, and Apple's attempts to thwart HTC (and thereby Google) and Flash/Adobe will surely play into the hands of the other smartphone manufacturers.

    If it is legal for Apple to impose these restrictions, would it then be reasonable for Google to restrict access to search and maps and their other services from iPhones? And if Adobe also dropped support for Mac versions of their products, could the Apple platform survive?

    Logically speaking it seems Apple are the architects of their own demise, but the market isn't based on logic, it's based on desire, and it's still desirable to role out apps and service to the iPhone/Pad crowd.... for now.

    ReplyDelete
  27. On the legal aspect, as an iPhone developer I also paid for 1 year subscription to the developer program. I received on Friday a message from the iTunes team stating that I had to agree on this new TOS before April 22 in order to be able to use the provisioning portal ... Does it mean that subscribing to the developer program means auto-accepting all the TOS during one year ?

    ReplyDelete
  28. NO - your bit is off - case being - apple don't own the language - so don't take your simile's too far otherwise you lose the point.


    The "Organic Store" example is a bit off.

    It should more like this:
    "I own an Organic store; every product I sell must be Organic, and I happen to sell soil that you can use to grow these Organics with; Oh, another store started selling soil; Nevermind my previous rule, NOW every product I sell must be grown using MY soil"

    This is anti-competitive behavior, and could be a case for a lawsuit.

    ReplyDelete
  29. Let us not forget Microsoft's anti-trust law suits against Windows Internet Explorer during the web browser wars. They settled, so will Apple. Mark my word.

    ReplyDelete
  30. Once upon a time, there was a Giant Corporation that knew nothing about small devices, but the market was starting to take off. Since the Main Competitor was far ahead, the Giant Corporation decided to open its platform completely. The Main Competitor locked everything down, and made it impossible for all but the largest software houses to develop code for its platform.

    In a very short time, the Giant Corporation had thousands of small developers writing code for its computers. In a very short time, the Main Competitor--which had previously owned the marketplace--was nearly destroyed, and consigned to occupy no more than a niche in the marketplace it had once dominated so completely.

    The Giant Coporation that opened its platform was IBM.

    The Main Competitor was Apple.

    The year was 1983.

    [... and it is going to play out again, but this time, the name of the Giant Corporation is Google.]

    Good too see you in my Rear View Mirror, Steve.

    ReplyDelete
  31. I'm not sure, but what about the GPL or the LGPL? Apple uses an offshoot of GCC, so how can it restrict use regarding that compiler?

    I may be totally wrong, but I've never seen anyone do something like this before and stay in business and prosper. MS tried to hinder people from writing Office apps with VS a while back, but I'm pretty sure they don't now.

    ReplyDelete
  32. Your right. This is an insane over-reaching of Apple's power. No platform maker has ever before tried to control what tools a developer can and cannot use.

    This language doesnt just make thinsg like Flash's iPod port and HPs Mono Touch (on which Unity depends) verboten but, in fact, makes ANY developer built code generator that runs on data or a DSL (domain specific language) against the rules.

    Couple this with the fact that Android is now beating iphone in monthly sales and is an open delivery platform, and I predict amass defection of developers.

    ReplyDelete
  33. Apple just wants the apps in their app store to be written specifically for their mobile os. Nothing wrong there. This is good for the store, developer, end users and Apple. If you could just use any method to cobble something together then when it worked like crap you or your end user would be blaming apple. Apple would have to decide case by case should we ban this "crappy" app or not. Instead they are making the decision to level the field. All developers get access to the same tools that are actually used when developing iPhone 3 and up + the same tools that are used in developing OS X. No other company has ever been as generous with their development tools. Proof is that Apple doesn't sell it's development tools but instead invests into the developer community by making these tools available free. Again, you don't have to be a big company to develop a profitable app for Mac OS. you just have to know how to code and have a good idea for something that Mac users want.

    ReplyDelete
  34. This past year has witnessed some quite serious backward steps for Apple hardware products. The most recent iPhone 4 is a serious case in point. Interestingly, there have been no slip-ups in terms of Apple software products. TMV questions whether this could be associated with the FACT that reliability of Apple hardware products is increasingly becoming an issue for consumers.

    More on this here: http://www.themusicvoid.com/2010/08/is-music-industry-reliance-on-unreliable-apple-products-sustainable/

    ReplyDelete
  35. Nice, and thanks for sharing this info with us.
    Good Luck!

    iPhone App Developers

    ReplyDelete