iPhone App In App Store Limbo Open Sourced
recoiledsnake writes "The author of iPhone prototyping tool Briefs has decided to open source it after the App store submission has been in limbo for over three months. The app had got into trouble for what Apple believes is being able to run interpreted code, though the author denies it, saying all the compiling happens on the Mac. While Rob stays civil, his co-worker blasts Apple for not even rejecting the app. Three months is nothing compared to Google Voice for the iPhone though, which is still being studied further by Apple after more than a year."
Can someone explain to me why Apple behaves this way? I fail to understand. What even bugles my mind is the fact that Apple as a company is [still] a darling in many people's hearts. No bad publicity sticks.
I for one, will not touch an iPhone even with a 10 foot pole for my HTC Incredible does all that want it to and even more. The trouble is Oracle that is threatening to cut off Android's air supply with patent suits against Google.
I don't know if this technically qualifies as open source, and it's not Free Software, because of this line in the license:
"The Software and/or source code cannot be copied in whole and
sold without meaningful modification for a profit. "
In his blog post about it he has this "aw shucks, time to go write some apps Apple will approve" attitude.
/yeah, this post went in a completely different direction from where it started
It strikes me as the psycho ex gf/bf who cant accept Apple broke up with them and refuses to mail order a new Android companion (or at least get a RIM job)
meep
Three months is nothing compared to QA times for the T-Mobile Sidekick. Small teams can't afford to wait a year from submission to first profits, especially when you're writing software on spec (not sure if it'll even be allowed onto the platform). When you outsource your QA and pay them per bug they find, you're going to get a lot of non-bugs and a lot of repeats, and the developer is going to get pissed. I know my team and I did.
Welcome to the mobile software industry, where your target platform doesn't care about you because there are 600,000 other developers who'll bend over and take it if you won't.
As you say, the app allows one to create wireframe prototypes, but those prototypes are not usable in any sense. So it isn't the same situation as Adobe allowing Flash to be compiled into apps.
The reason the app was rejected initially was for allowing the "execution" of code that could be loaded from outside the app. However, the "code" was nothing but an XML document that was read into the app and used to construct interfaces. In fact, the XML document even used Apple's "property list" format, and was simply loaded directly into an NSDictionary.
The insane part of this whole thing is that had the developer not given his "code" files a unique extension (he used .briefslist I believe), and had changed the wording in his instructions just slightly, the app probably would have gotten through fine. Others have noted that there are live apps that do essential the same thing that Briefs wanted to do.
And so does Sony AND Nintendo. I am of course talking about game consoles. Closed platforms where the owner of the platform (not you dear consumer sheep) decides what gets to run on it.
Apple has made the decision to follow the console model rather then the PC model. That is their choice. Your choice as a consumer is whether you choose to buy it or not. Your choice is NOT to force Apple to go another way other then through voting with your dollars.
Why has Apple made this decision? One of the many stupid mistakes MS has made in its lifetime is to allow Emails to contains executable code. For the email reader, the application to run external code. Abobe is regularly blamed for doing the same with PDF's. Lots of people here claim that data should not contain code. So when Apple decides that it does not want the option on ITS platform for 3rd party apps to run totally unknown 4th party code, of course they are COMPLETLY wrong in doing so...
Apple has made a reputation for itself by having a better, more solid, hassle free user experience. But how has it gotten this? Partially by its users being UNABLE to install the crap they do under windows. IF the mac platform got the same kind of malware and cripple ware attention as the PC, it would be just as bad an experience, with DRM overwriting sectors on the HD it has no business overwriting.
Is Apple right in believing that a controlled environment makes for a better user experience? Who knows, what I do know is that they sell millions of iPhones. People are voting with their dollars. Apparently they like SOMETHING about the iPhone more then they don't like.
Don't buy/develop for a closed platform and then complain it is closed. That is like breaking into a prison and then complaining they won't let you go.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
The Briefs code is now up on GitHub, and yes, you can go look at it, however it's not "Open Source" (per OSI), it's not "Free Software" (per the FSF), and it's not "DFSG-free" (per Debian).
If you look at the commit history for the license, he even explicitly changed the license two days ago to make it less free:
2010-08-28
Modified license terms to disallow someone from reselling Briefs without making major modifications. Also protect the Briefs trademark. Still, free source code, huh? Not too shabby.
Prior to two days ago, the code was under the... well, I'm not exactly sure what license!
Here's the license (the first paragraph is a dead ringer for the opening of the MIT License):
Copyright (c) 2009-2010, Rob Rhyne
Briefs is a trademark of Digital Arch Design Corp.
http://robrhyne.com/
http://digitalarch.net/
All rights reserved.
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction except as noted below, including without limitation
the rights to use,copy, modify, merge, publish, distribute,
and/or sublicense, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
Here's the non-FOSS part:
The Software and/or source code cannot be copied in whole and
sold without meaningful modification for a profit.
This is more of the MIT license:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
This middle part looks like the BSD license:
Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with
the distribution.
Actually, there are only two clauses there, so that's essentially the 2-clause BSD, not the 3-clause one (just a minor point, really).
Then we get the YELLING-AT-YOU indemnification clause. Lawyers seem to love these things, but they seem so uncouth to me. Anyhow, for 5 points, from which license was this paragraph chosen?
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
That's right! It's the indemnification clause from the MIT license.
I googled around trying to figure out if other people used this same license, but the best I came up with was the NCSA license. It's unlikely that this license is based off that one, as the phrase to deal in the Software (MIT) is used in this new license instead of to deal with the Software (NCSA).
One more thing: let's point out exactly why the license doesn't pass any of the most popular FOSS metrics:
1) "Open Source" (per OSI)
Per
coding is life
"...this allows you to make better apps faster."
To be honest, this seems pretty subjective. It also misses the definition of "better" - is it "better" as in the app has better performance than a native-built app? Is it "better" as in it can have more features than a native-built app?
"Apple has said they want to be completely in control of the development environment, and anything that threatens to take away that control will not be allowed. "
Can't blame 'em in this case, at least from an objective viewpoint. The phone's reputation relies a lot on the apps' reputation. Apps that hang, or run slow, or basically sucks the battery dry in short order affects the users' perception of the phone. If that perception is destroyed by a bug in this particular app causing a raft of apps that basically suck (not in content, but performance, efficiency, etc)? For Apple, that would suck - far better to have flaws in an API, runtime, or etc that they themselves can fix in short order, than to stumble across flaws that they'd have to beg a third party to fix. It also leaves open a trap that Microsoft is stumbling on with each new version of Windows: Compatibility/Legacy issues. Given that there isn't too much capacity on a smartphone for Moore's Law to cover bloat, you can't just code your way out of a legacy issue - especially those caused by some third party build/prototyping app.
Apple's stance is pretty simple, really: If you want to build an iPhone app, learn to write code and do it your own damned self. The tools are free. The store fees are dirt cheap.
Personally, vote with your wallet. Android phones (esp. thanks to Verizon's BOGO deals and a far larger pool of manufacturers) are selling like mad right now. iPhones are still selling like mad right now. May the market determine the best model...
Quo usque tandem abutere, Nimbus, patientia nostra?
How many more people does Apple have to hurt before it starts to tarnish the brand?
Apple has done a fabulous job of polishing the iPhone and iPad. If you really want the best available phone, and you aren't too choosy about your freedom, you buy Apple.
Sure, they won't get my money because I refuse to pay a company to tell me what software I may and may not install on my own device. That's okay, they don't care about me. But the more time goes by, the more stories like this one come to light. How much of this before people start to view Apple not so much as the hip, cool company but rather as the controlling, evil company?
And stories like this one are inevitable, because Apple is exerting such a high degree of control. The approval process isn't a simple rubber-stamp thing. The more innovative and unusual an app is, the harder it is for Apple to decide whether it gives the user too much freedom. In this case, I would guess that the problem is that an app for mocking up new apps is a little too much like an emulator, and Apple can't quite make up its collective mind whether this is a sort of emulator or not. (I can't even guess why Apple approved other app mockup apps while letting this one languish.)
So, the more time goes by, the more wronged people there will be. I guess as long as the majority of Apple customers are happy, and the majority of app developers aren't mistreated too much, the Apple brand will be undiminished.
But you know, if he had released his app for Android, it would be on the market now. He could even make an Android app for mocking up iPhone apps! I wish he would, just for the irony value.
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
1) Fanboyism/zealotry. Apple has had a following for a long time of people for whom they can do no wrong more or less. A non-trivial amount of these people are in the press (Macs are big in prepress work). They just love Apple and everything they do. So when something bad comes out, they find ways to rationalize it away, or ignore it.
So we're in agreement here? This is yet moar evidence of the elite liberal media slant!
+= E
Nah. It's okay. Read at -1 and skim. Still lots better than most everyplace else.
I agree with the primary idea above, but wish people would stop conflating languages and implementation details.
JavaScript/Java/Python/Lisp/PHP/C# are languages. Interpreted code is a method commonly used for early implementation of languages, and it is usually replaced by better methods as implementations mature.
Saying that language X is inherently slow because "it's interpreted" is wrong, but sounds superficially convincing enough to allow pointy-haired people to reject languages without really understanding the issues.
To a Lisp hacker, XML is S-expressions in drag.