Hacker News new | past | comments | ask | show | jobs | submit login
Open Source and the iOS App Store (inkmobility.com)
64 points by liyanchang on Aug 29, 2013 | hide | past | favorite | 40 comments



My apps ChatSecure [1] and OpenWatch [2] are fully open source as well.

1. https://github.com/chrisballinger/Off-the-Record-iOS

2. https://github.com/OpenWatch/OpenWatch-iOS


I get the sense you're a Cocoa Controls user :)

I always love getting feedback from users of the site; please let me know if you have any!


That's awesome. Glad there are others out there as well.


Open Source applications in iOS are nice for developers to help them build better applications, but given iOS is such a closed locked system, it is meaningless for users. A part of the open source idea is that users can know and have some control over the software that runs on the hardware that belongs to them. As long as iOS remains a locked proprietary walled garden owned by Apple and carriers, open source on iOS is meaningless to them. Maybe we've all just given up on that idea though.


    A part of the open source idea is that users
    can know and have some control over the
    software that runs on the hardware that
    belongs to them.
You mean the GNU/FSF/Copyleft idea, not open source. There is a meaningfully large amount of code behind iOS and OS X that is available under licenses that meet the Open Source Definition.

Also, check out some of the apps in the App Store today that use open source components: https://www.cocoacontrols.com/apps

(note: my website, http://www.cocoacontrols.com, is mentioned in the OP's blog post)


Currently, there is a serious lack of open source apps for mobile devices, especially iOS. While there are scores of very high quality open-source applications for servers (Nginx, Wordpress, HAProxy) and desktops (Firefox, VLC, Blender), the ecosystem isn’t there yet on iOS. There are only a handful of open-source apps out there

Not to say that there aren't meaningfull and large amount of code behind iOS and OS X that is available as open source. It is however noted by the article as iOS is serious lacking a strong open source ecosystem. This has nothing to do with GNU, FSF, or Copyleft. Please find the cause of the problem else where. The parent post you replied suggested DRM as the culprit. Do you disagree, and if so, what is the culprit?


I beg to differ, I think that if you are knowledgeable enough to know what open source is, what it means and how it works, then you're able to download xcode, build the open source app, bypass the apple store and install it on your device.


As long as you are willing and able to pay Apple $100 a year to install your own apps on your own phone.


Don't you only need to pay $100 to distribute the app, right?


If this is just about you saving $100, why all the rhetoric about walled gardens?


It's not about $100 a year, although that's a real barrier. It's that you and I are not in control over what software our hardware we own can run. Do I lease my smartphone from the company or do I own it, because it sure doesn't feel like I own it when I have to pay someone a $100 a year to run my software on my device. It feels like I'm being robbed. Robbed of money, robbed of choice, robbed of control.


I feel as though some people spent many years doing painstaking, world class engineering work, and I paid them so that I could use it.

After I paid them they continued to support me videos and direct communication to help me use what I'd paid for, and they took seriously the problems I identified.

I'm sorry that you consider this being 'Robbed'. I had my car stolen once, and my house broken into another time, and those things didn't feel good.


That's like saying if you're knowledgeable enough to know what electricity is, you're able to install your own circuit breaker. That's totally ridiculous.

If XCode is like any other compilation environment I've ever used, incompatible library versions will be involved, you'll need to download additional libraries, cryptic errors will be produced, environment variables will need to be changed... and the process will take three days before you finally just give up.

Correct me if I'm wrong, and XCode is a magical application where Everything Just Works, but given the frequency with which my iTunes malfunctions, I highly doubt it.


  > but given iOS is such a closed locked system, it is
  > meaningless for users
As if it is any different for non-programmers on any systems, open or not.


No, that's wrong. "Non-programmers" won't be modifying code themselves, but they still want to be able to install the modified code. Things like "try this version and see if it fixes your bug" are impossible on iOS unless the recipient is a registered Apple developer.

This is why iOS is perceived as so hostile to open source. It's basically impossible to have a "community" of users for your open project other than a tiny cabal of professionals.


You don't need to be a programmer to install open source software on a computer. You do need some level of technical literacy but nowhere near that required to write software.


Sure but then the only distinction is price, and this just becomes about getting stuff for free.


Not at all, it's also about preference and the very nature of ownership. Imagine that Ford cars had radios which only allowed you to listen to rock and roll radio stations. And GM cars had radios which only allowed you to listen to country music stations.

Might you not prefer to tear out this weird factory radio and replace it with a radio that tuned into whatever damn radio station you want to listen to?


I might like my car to allow me to install a chesterfield sofa as the driver's seat, but I don't complain that ford has locked down my choice of seats into a walled garden. Presumably you'd complain that you'd like to be able to sit in 'any damn seat you please' too.


Well actually, you can very easily buy aftermarket seats, tires, mufflers, radios, or almost anything you please on your car. It's the opposite of the phone ecosystem.


You can't fit a chesterfield sofa because the chassis isn't designed for that. Exactly like the phone ecosystem.


No, the difference is knowing that you're using software that encourages software sharing, rather than software hoarding.


You mean software that encourages money hoarding? If that's your preference, then go for it.

Personally I'd prefer to know I'm using software that encourages money sharing.


I get the feeling that you have no idea what we are talking about in this thread. "mattl" said "software sharing", and you immediately assume that he meant "money sharing"??


I get the feeling that you didn't read what I wrote. I made no such assumption.

Mattl likes to use open source software because he thinks it encourages software sharing. I actually agree with that, and have non-trivially contributed to and consumed open source software in my work.

However I don't agree that all software should be open source because that discourages people from sharing money with programmers.

What I object to is not the idea of open source, which is a great thing. It's the fundamentalism and moralizing against anything which does not completely fit some idealogue's definition, and yet which also provides great value.


"Closed, locked, walled garden, proprietary, owned by carriers (false - android is restricted by carriers, not iOS)", etc.

And yet strangely, I use open source libraries on iOS all the time.

Open source is completely and utterly irrelevant to end-users. It is only meaningful if you are able to work with the source code.

The only thing stopping you from doing that is not wanting to pay the $100 developer registration.


> Open source is completely and utterly irrelevant to end-users.

That is arrant nonsense. I am an end user - free software is important to me not because I want to fiddle around with the source code today, but because I may well need to have access to the source tomorrow.

Yes I am a programmer, but that's a lot less relevant than you seem to think. I'm not an iOS or Android developer - I'm sure I could learn those skill if I needed to, but I can always hire someone to do it for me... and of course that option is available to any user of the software, not just programmers.

To imagine that software freedom is about programmers satisfying their curiosity, or fiddling with their phone's UI is to miss the point entirely. It's about control. It's about my ability to control the device that I've bought, and the software that I choose to use on it. It's about me being able to get a new feature that I really need. It's about nobody being able to take away software that I've come to depend upon for my livelihood.

The problem with Apple's $100 per year is not the money. The problem is Apple's ability to take away my freedom to modify my device as I see fit.


Non-programmers don't think like this.

They don't falsely imagine that they have the ability to modify the device 'as they see fit' in the first place. To do that, you'd have to do more than just 'hire a programmer'. If you really have the resources to do that, then nobody, not even Apple, is stopping you from hiring a team.


> If you really have the resources to do that, then nobody, not even Apple, is stopping you from hiring a team.

That's the crux of the matter though. Apple can stop me from hiring a team. They can do anything they like, because they have retained ultimate control over my [1] device, even after purporting to sell it to me.

[1] - "My device" is only rhetorical of course - I don't actually own any iOS devices for reasons that should be obvious by now.


So the first part is simply false. You're legally entitled to install whatever you like on your iPhone. Apple doesn't owe you the work to make that easy and they have not. Go ahead - hire your team.

But really, if you have the resources to hire a team to build a Mobile OS, why wouldn't you just commission hardware from someone else, rather than running it on iPhones?


Not sure it's really relevant, but I happen to have open-sourced a "dummy app" which was originally intended for educational purpose.

If some are interested : http://alexiscreuzot.com/ColourLove/


The obstacle to open source adoption has always been economics, not usability. (Give them paychecks, and the usability engineers will come.) While it's possible to have a successful business model with FOSS, it's typically much more difficult or less lucrative compared to the product/appliance model, and too often completely unviable to make a living.

The curious paradox of Apple's walled garden is that it creates an opening to put every line of code on GitHub, yet be confident that the vast majority of customers will still click "Buy Now" rather than downloading elsewhere for free. It may not include Freedom Zero, and so is far from ideologically pure, but the ecosystem still gains the benefits of transparency, trust, and iterative improvement from open source.

Outside of certain niches, the market is clearly not gravitating towards FOSS on its own; if the politics of computing is important to us as a culture, it probably needs to move forward in the form of consumer protection laws and antitrust litigation. But in the meantime, FOSS would do well to use the App Store and make the best of a bad situation.


This is a really interesting idea. iOS and submitting to the app store has always seemed high friction task. This takes reduces both of them by having a fully baked app that I can just modify.

The promise of shipping code to the app store is a bit more tenuous as we have to bank on the developers packaging it up and sending it up to the app store.


Thanks for the support. To your concern, yes. But we're also looking at how we can give not only commit rights to github but also deploy rights on the app store for frequent committers.


The missing example for platforms with lots of open source apps is Android.

No platform should artificially restrict development and the freedom of running any app. iOS deserves its lack of open source apps, in a way.


No platform should artificially restrict development and the freedom of any app (regardless of how destructive, malicious, misleading, or harmful to the end user or any other party, it might be).

End users must be prohibited from choosing a platform which does not obey this rule.


It was 4 years ago when I developed a iOS ImagePicker in my free time which I knew I would use in a app at work, just to be able to open source it. And it was the right move, seems like many people liked and used it: https://github.com/jeena/JPImagePickerController even got a couple of job offers because of it (back then there weren't that many iOS developers in Sweden)


The WordPress iOS app is also open source: https://github.com/wordpress-mobile/WordPress-iOS


I spent some time moving UIKit over to blocks without resorting to swizzling or using external dependencies like libffi. Needed to get that off my desk and ship smaller things.

This looks nice!


This is a great step-- I note that you chose to open source after your were on the store. As a well-known company, was that to prevent pre-release copycats?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: