
List of open source iOS apps - bdz
https://github.com/dkhamsing/open-source-ios-apps
======
tomcam
Does anyone know if any of these is a particularly good example of good iOS
coding/testing practices? (Not denigrating any of them! Just want to know
which would be the best examples to learn from.)

~~~
farhanpatel
Check out the firefox-iOS project [https://github.com/mozilla/firefox-
ios](https://github.com/mozilla/firefox-ios)

We have lots of tests. Many of them in different styles. Both UI tests and
unit tests.

I'm in the process of writing tests using the new XCUI testing framework. You
can see a PR I have open here. [https://github.com/mozilla/firefox-
ios/pull/1998](https://github.com/mozilla/firefox-ios/pull/1998)

------
jc4p
I like this idea, but it probably could use better filtering and admission
guidelines to be more useful.

I also am not a big fan of editing a massive JSON file manually to add new
projects! I wanted to add my HealthKit app that does nothing but allow manual
tracking of periods, but I gave up: [https://github.com/jc4p/abby-
healthkit](https://github.com/jc4p/abby-healthkit)

------
dublinben
This was really helpful for finding a libre password manager that works with
KeePass files. The App store results were very unhelpful in this regard.

------
ocdtrekkie
It's always hard to find FOSS on a more walled platform. One of the ones I
wish it was easier to find, was open source UWP apps. They're out there, but a
lot of Microsoft types aren't super used to open sourcing, so they're harder
to find. I'd love to see a list of those.

------
PakG1
This is cool. I'm in the middle of learning Swift, but I couldn't figure out
an app I really cared to make. Maybe I can contribute to one of these projects
instead to develop of my Swift knowledge. Will browse thoroughly.

------
dmihal
I'd love to see similar lists for other platforms like Android

~~~
goda90
There is an Android app repo for FOSS apps.
[https://f-droid.org/](https://f-droid.org/)

Probably not as easy to go over, but there are so many to begin with.

~~~
jldugger
I wish f-droid had ratings or download popularity or anything really.

~~~
papul1993
Screenshots of the app activities would be nice too.

~~~
goda90
Issue regarding that topic:
[https://gitlab.com/fdroid/fdroidclient/issues/15](https://gitlab.com/fdroid/fdroidclient/issues/15)

------
binarycrusader
See also shmup:
[https://github.com/fabiensanglard/Shmup](https://github.com/fabiensanglard/Shmup)

------
JustSomeNobody
Nice list. Thanks.

------
BlytheSchuma
Isn't the whole idea of "Open Source iOS apps" an oxymoron?

~~~
Skunkleton
Not really? Apple has opened up sideloading source based applications, and you
still benefit from having the source available to you if you installed one of
these apps from the store. What you can't have is GPL'd apps in the app store.

~~~
dublinben
You can (and do) have GPL apps in the app store, it's just a violation of the
license.

~~~
daxelrod
It's OK for a copyright holder to dual-license and release their own GPLed
code as an app in the App Store. Otherwise, you're correct.

[http://www.fsf.org/news/2010-05-app-store-
compliance](http://www.fsf.org/news/2010-05-app-store-compliance)

~~~
0x0
If you put the entire source code inside the .ipa, would that be acceptable
for app store distribution if you are not the original copyright holder? The
user gets the full source code and can rebuild the app themselves?

~~~
daxelrod
No, the problem is that the TOS that App Store users must agree to before
downloading the app conflicts with the GPL.

See [http://www.fsf.org/blogs/licensing/more-about-the-app-
store-...](http://www.fsf.org/blogs/licensing/more-about-the-app-store-gpl-
enforcement) for more detail.

~~~
0x0
How is that different from running GPL programs on Windows? You need to accept
the EULA to run windows, which limits how you can use the application as well.
Every GPL program must link to kernel32.dll, which has usage restrictions
covered by the EULA? And to even install/download/copy the software, you will
need to interact with built-in Windows software like IE or exporer.exe or
cmd.exe or a third party program that also links kernel32.dll.

It feels wrong to deny users access to GPL software because of terms of
service applying to the underlying OS. As long as the software itself is
available in source form under the GPL (either packaged inside the .ipa,
and/or with a link to a page where you can download the source under GPL with
no EULA attached) should afford the user all the freedoms of the GPL.

But I guess smarter people than me have decided this is unacceptable, so users
can't be allowed the convenience of pre-compiled iOS GPL software?

~~~
belorn
If iOS appstore license only covered Apple software, then we would not be in
this situation. The problem is that appstore license cover all software it
distribute, and thus goes beyond that of some system library like
kernel32.dll.

 _Both versions of the GPL have an exception to their copyleft, commonly
called the system library exception. If the GPL-incompatible libraries you
want to use meet the criteria for a system library, then you don 't have to do
anything special to use them; the requirement to distribute source code for
the whole program does not include those libraries, even if you distribute a
linked executable containing them._

\- [https://www.gnu.org/licenses/gpl-
faq.html#SystemLibraryExcep...](https://www.gnu.org/licenses/gpl-
faq.html#SystemLibraryException)

~~~
0x0
It's a shame the app store isn't considered a system library :-/

~~~
belorn
If appstore was part of every app and the appstore license only covered the
appstore part and not the whole app, then that would be an improvement.

But I think it would be easier just to not have apps covered under the
appstore license, and only add such license to their own DRM. How effective
the legal DRM would be in that case could be discussed, but it would likely
identical to consoles and tivo which are both gplv2 compatible. It seems
unnecessary when looking at other products with DRM to have a license that
cover every program running on them.

