gnunet-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-developers] iOS/non-free platforms (was: Why old-school C?)


From: Ed Baskerville
Subject: [GNUnet-developers] iOS/non-free platforms (was: Why old-school C?)
Date: Wed, 8 Jul 2015 16:26:30 -0700

On Jul 8, 2015, at 3:07 PM, Nils Durner <address@hidden> wrote:

> Hi,
> 
>>> This is a side note, but to get GNUnet to work on non-jailbroken
>>> iOS--which some people probably don't care about but I think is going
>>> to be necessary [...]
> 
> I think that's not the only necessity to bring GNUnet to the masses.
> Having to upload a self-built binary to an iDevice from a Mac (or even
> do it the uber-geeky libre way) is not going to cut it - GNUnet would
> have to be available on the Appstore. But that's not possible due to
> licensing conflicts. The technical challenge of threads vs. processes is
> the smallest issue here.

It's not possible unless all the GNUnet copyright holders (Christian et al.) 
are OK with putting it on the App Store, in which case they would implicitly be 
dual-licensing GNUnet. There are a lot of things on the App Store that fall 
into this category--Apple's fine with otherwise GPL'd software; the copyright 
holder just has to be willing to make the compromise.

Of course, that means the same needs to be true for all dependencies, which 
might mean weaning off of some of them.

Now would be a good time to ask: GNUnet developers, would you ever be willing 
to have GNUnet on the iOS App Store, sacrificing a bit of GPL purity for the 
sake of wider deployment?

If not, the choices are (1) a from-scratch reimplementation of the protocols 
with copyright owned by someone willing to sacrifice a bit of purity; (2) one 
possible middle ground, where iOS peers run a minimal codebase that allows them 
to offload most of their network activity to a proxy machine that runs the a 
full, free GNUnet; or (3) as Nils suggests, using something besides GNUnet.

>> Sounds painful. iOS users should jailbreak their devices (i.e. by
>> installing a libre OS). Without that, they don't get reasonable security
>> or privacy or liberty.

Painful but necessary.

If we assume the rightness of the free software movement for a moment (which I 
am sympathetic to): sure, users shouldn't run iOS, or at least jailbreak. But 
they don't, and they won't, because it's inconvenient. Even if the long game is 
to outcompete non-free platforms, the short game will have to involve running 
on those platforms. In all cases, you have to outcompeting not only on free 
(libre)-ness, but also on convenience. No way around it.

> I have yet to see how any libre OS is more secure than iOS, especially
> if jailbreaking is involved. Privacy (through running GNUnet at all) and
> Liberty (to run GNUnet on whatever device) are equally being taken away
> by adoption of the GPL for GNUnet as through Apple's restrictions
> disallowing GPL'ed software on the Appstore. For me as a user, true
> Liberty is the liberty to voluntarily compromise the same.

The issue isn't the theoretical or practical ability for an OS to be securely 
implemented; it's trust. If you can't see the source code and the binaries and 
verify that the source translates to the binaries you're using, you can't prove 
there aren't backdoors.

But there's a tradeoff. If you don't run on theoretically-secretly-backdoored 
OSs, you might never get traction at all. Keep in mind that we also have 
theoretically-secretly-backdoored chips running our code. Which is why it would 
be nice to have a fully free stack. But we don't.

I think the only viable solution is to run on non-free platforms, even if it 
means violating the GPL, for the sake of creating a better foundation for 
networking. You can still sniff the packets coming out of your boxes.

> As I don't have much resources to even contribute to a truly liberal
> clone of GNUnet, my hopes are on better Tor integration with iOS 9 - and
> GNUnet concepts being implemented on this platform for more general
> availability.

I didn't even think to see if Apple had made network background processes 
somehow easier in iOS 9, thanks for the tip--are you talking about "network 
proxy extensions":

https://developer.apple.com/library/prerelease/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS9.html#//apple_ref/doc/uid/TP40016198-DontLinkElementID_13

https://developer.apple.com/library/prerelease/ios/releasenotes/General/iOS90APIDiffs/frameworks/NetworkExtension.html

?

Looks like it might make Tor (and possibly a single-process GNUnet) doable as a 
service instead of embedded in an app; that will make these kinds of projects 
much more doable on the platform.

Ed


reply via email to

[Prev in Thread] Current Thread [Next in Thread]