LibrePlanet: Conference/2010/Hacking/Free phones workshop

From LibrePlanet
Jump to: navigation, search
(Hackability freedom)
 
(63 intermediate revisions by 7 users not shown)
Line 1: Line 1:
This workshop will be held at [[Boston_Software_Freedom_Day]].
+
{{LP2010}}
  
This document is in-progress and is being discussed via IRC in #futurephonefreedom on OFTC.
+
The following is a dump from our previous free phones event in September.
 +
 
 +
---
  
 
We will go over the following:
 
We will go over the following:
  
== General overview of free / partially free smartphones available in the US market ==
+
== Smartphones ==
 +
List of free/mostly-free phones:
  
List of free/mostly-free phones:
+
* [http://wiki.openmoko.org Neo Freerunner]
* OpenMoko
+
* [http://www.freesmartphone.org/index.php/Palm_Pre:_Jan_2010_-_%3F Palm Pre]
* Prē
+
* HTC ADP, HTC [http://www.freesmartphone.org/index.php/Hardware/HTC_Dream Dream], Magic, MyTouch, etc. (Android)
* G1, MyTouch (Android)
+
* Nokia N900
* ADP (Android)
 
  
 
To be released soon:
 
To be released soon:
* N900 (Maemo 5)
+
 
 +
* [http://road.de/ HandyPC S101] (Not DRMed, choice of Android or QT Embedded)
 +
 
 +
 
 +
Moral Abstraction Devices<ref>nonfree but lets you use non-phone mobile devices as phones via voip</ref>:
 +
* Novatel's MiFi 2200 portable EV-DO router
 +
 
 +
 
  
 
Criteria to be counted:  
 
Criteria to be counted:  
Line 22: Line 31:
 
* ability to let users develop software for it
 
* ability to let users develop software for it
 
* not required to void phone warranty to benefit (in some way) from freedoms provided. Eg. sure you can install Debian on an iPhone, but that doesn't mean the iPhone counts.
 
* not required to void phone warranty to benefit (in some way) from freedoms provided. Eg. sure you can install Debian on an iPhone, but that doesn't mean the iPhone counts.
 +
 +
== Mobile operating systems ==
 +
 +
=== free ===
 +
Some activists are working to develop and maintain a freed versions of the most known and preinstalled mobile os:
 +
 +
* [http://replicant.us Replicant] (a freed Android)
 +
* <del>[http://wiki.maemo.org/Mer Mer] (a freed Maemo)</del> "Mer is now an inactive project"
 +
 +
See [[Talk:Future Phone Freedom Workshop#Are they trying to screw you?]] for why this might be a good thing to do.
 +
 +
=== partially free ===
 +
 +
For the moment we have the following:
 +
 +
* [http://www.freesmartphone.org FSO] based os (e.g. [http://shr-project.org/trac SHR])
 +
* [http://meego.com/ MeeGo] ([http://www.moblin.org Moblin] + [http://www.maemo.org Maemo] merged)
 +
* [http://www.webos-internals.org/wiki/Main_Page Web OS] (os of the Palm Pre and Pixi)
 +
* Google [http://www.android.com Android]
 +
* [http://www.ophonesdn.com/ Ophono]
 +
* Samsung [http://www.bada.com/ Bada]
 +
* [http://alp.access-company.com/ Access Linux Platform (ALP)]
 +
 +
 +
=== Comparison Table ===
 +
 +
{| class="wikitable sortable" style="text-align: center; width: 95%"
 +
|-style="background: #ececec;"
 +
! style="width:12em" |
 +
! FSO based (SHR etc.)
 +
! MeeGo
 +
! Web OS
 +
! Android
 +
! Bada
 +
! Ophone (Android based)
 +
! Access Linux Platform
 +
|-
 +
! Company
 +
| Openmoko
 +
| Nokia + Intel
 +
| Palm
 +
| Google
 +
| Samsung
 +
| China Mobile
 +
| Access Co.
 +
|-
 +
! License
 +
| GPL + others
 +
| various free software licenses <ref>GPLv2 for Linux, GNU LGPLv2 for API and libraries, for the software "All OSI compatible licenses are OK in principle but there is following emphasis: Use of GNU (L)GPL version 2.x is encouraged and currently use of GNU (L)GPL version 3 is discouraged." see [http://meego.com/about/licensing-policy here]</ref>
 +
| Palm EULA, GPL, others
 +
| Apache 2.0 and GPLv2,  closed for google apps
 +
| rumors say free software
 +
| Apache 2.0 and GPLv2
 +
| don't know
 +
|-
 +
! Supported Architectures
 +
| ARM
 +
| ARM, i386
 +
| ARM
 +
| ARM, MIPS, Power Architecture, x86
 +
| ARM
 +
| ARM, MIPS, Power Architecture, x86
 +
| ARM
 +
|-
 +
! Update method
 +
| opkg
 +
| RPM
 +
| os internal app
 +
| os internal app
 +
| don't know yet
 +
| don't know
 +
| don't know
 +
|-
 +
! Package manager
 +
| opkg
 +
| RPM Package Manager
 +
| don't know
 +
| ipk?
 +
| don't know yet
 +
| don't know
 +
| don't know
 +
|-
 +
! Default user interface
 +
| Enlightenment's Illume
 +
| default Qt UI but gtk, clutter and MX supported
 +
| non free Web OS UI
 +
| Android
 +
| Enlightenment's Illume
 +
| don'know, should be Android
 +
| don't know
 +
|}
  
 
== Usability vs. Freedom ==
 
== Usability vs. Freedom ==
  
OpenMoko is completely free, but not really usable. Usability should be graded as follows:
+
The Neo Freerunner is completely free (on the main cpu), but not really usable. Usability should be graded as follows:
  
 
# can be used as a phone reliably (includes address book)
 
# can be used as a phone reliably (includes address book)
Line 45: Line 145:
  
 
What cool things has this given to users? (I suspect there are a lot of interesting hacks in the OpenMoko world)
 
What cool things has this given to users? (I suspect there are a lot of interesting hacks in the OpenMoko world)
 +
 +
=== Community ===
 +
 +
Is there a community around the phone? How healthy / vibrant is it?
 +
 +
https://www.noisebridge.net/wiki/Noisedroid
  
 
== Carrier freedom ==
 
== Carrier freedom ==
Line 53: Line 159:
  
 
What parts of the SW stack are missing to make each platform entirely free and usable?
 
What parts of the SW stack are missing to make each platform entirely free and usable?
 +
 +
== Comparison Table ==
 +
 +
{| class="wikitable sortable" style="text-align: center; width: 95%"
 +
|-style="background: #ececec;"
 +
! style="width:12em" |
 +
! Freerunner<br/>(Openmoko)
 +
! G1, G1 ADP, MyTouch<br/>(Android)
 +
! Prē<br/>(WebOS)
 +
! N900<br/>(Maemo 5)
 +
! iPhone
 +
|-
 +
! US Carriers
 +
| AT&T, T-Mobile
 +
| AT&T, T-Mobile
 +
| Sprint
 +
| AT&T, T-Mobile
 +
| AT&T
 +
|-
 +
! Usability (ugh, meh, woo, yay!)
 +
| meh
 +
| woo
 +
| woo
 +
| unk
 +
| yay!
 +
|-
 +
! License
 +
| Free software
 +
| proprietary and apache2 for userland; GPLv2 for linux
 +
| proprietary and various free for userland; GPLv2 for linux
 +
| proprietary and various free for userland; GPLv2 for linux
 +
| all proprietary
 +
|-
 +
! Base applications
 +
| free (varied)
 +
| free apart google apps
 +
| mixed
 +
| mixed
 +
| nonfree
 +
|-
 +
! Purchasable
 +
| yes
 +
| yes (contract subsidy)
 +
| yes (contract subsidy)
 +
| yes
 +
| yes (contract subsidy)
 +
|-
 +
! Ability to install custom OS
 +
| yes
 +
| yes (exploit or downgrade)
 +
| yes <ref>SHR already compiled, first call made - installed OS is OpenEmbedded variant</ref>
 +
| yes<ref>It remains to be seen if/how subsidized versions will be locked down - if indeed they appear at all.</ref>
 +
| maybe (exploit only; actively discouraged)
 +
|-
 +
! Radio Firmwares(GPS, GSM, Wifi)
 +
| nonfree, nonfree, free<ref>[[User:Johns|John Sullivan]], Operations Manager at the FSF writes: I was correct -- there is no linux-loaded proprietary firmware for the wifi. There is of course proprietary firmware in flash on the chip, but it is not upgradeable. See for example [http://lists.openmoko.org/nabble.html#nabble-td1095866 this mailing list post] - "---2 The 2nd best option would be that all software on the main CPU is Free Software, and other firmwares are not user-upgradeable, do not have to be loaded at boot time, and can thus be considered to be part of the 'circuit' of that chip, a black box. Some people find this option laughable, as it looks like someone not wanting to know the truth, but for a number of reasons the FSF and Richard Stallman believe this is the right way to protect freedom. GTA02 is at this level, let's call it the 'FSF level' :-)". The proprietary firmware on the chip has been a source of problems (because for example it is compiled with debug options on), so that's presumably why people are saying otherwise. root@om-gta02 /lib/modules/2.6.29-rc3 $ find . -name *.bin doesn't return anything, fwiw.</ref>
 +
| All nonfree<ref>There are 4 CPU,The Arm9 CPU controls the modem+gps(mDSP),the audio(aDSP),and the mDSP and the aDSP are all non-free,the application CPU is an arm9,not much is known about the msm architecture</ref>
 +
| All nonfree
 +
| unk, unk, nonfree<ref>GSM/GPS firmwares may be stored in rom, however, they are almost certainly upgradable</ref>
 +
| All nonfree
 +
|-
 +
! OS
 +
| GNU/Linux
 +
| Android/Linux
 +
| GNU/Linux
 +
| GNU/Linux
 +
| nonfree
 +
|-
 +
! GUI layer
 +
| free (varied)
 +
| free (Android)
 +
| nonfree (WebOS)<ref>Can also run directfb GUI without WebOS GUI, however no one has written tslib module for touchscreen yet so limited usefullness</ref>
 +
| free (Maemo)
 +
| nonfree
 +
|-
 +
! SDK
 +
| free
 +
| mix<ref>Official SDK requires nonfree Sun Java,can be liberated if you compile your own and use a patch</ref>
 +
| nonfree
 +
| free<ref>Toolchain is all free, to run the device emulator you need nonfree Nokia binaries.</ref>
 +
| nonfree
 +
|-
 +
! SDK runs on Free Software
 +
| yes
 +
| yes
 +
| yes
 +
| yes
 +
| no
 +
|-
 +
! Hacking voids warranty?
 +
| no
 +
| yes
 +
| unk
 +
| unk
 +
| yes
 +
|-
 +
! App store
 +
| [http://www.tuxbrain.com/en/content/om-showroom-something-show om-showroom] in development
 +
| nonfree by default; free version available, [http://gitorious.org/replicant/floss-dispenser FLOSS Dispenser] 
 +
| nonfree by default; free version available, [http://www.webos-internals.org/wiki/Application:Preware PreWare]<ref>You do not need to access the GNU/Linux command line or "root your Pre" to install or use Preware (which is the GPLv2 app store client). However you install it with "WebOS Quick Install", which is nonfree software, under a provision that allows "WebOS applications that are in-testing, which under section 4.2 of the Palm SDK License Agreement allows for such unapproved applications to be installed on Palm devices" [http://forums.precentral.net/homebrew-apps/194832-webos-quick-install.html]</ref>
 +
| free, [http://hildon-app-mgr.garage.maemo.org/index.html Hildon Application Manager]
 +
| nonfree
 +
|}
 +
 +
== See also ==
 +
* [[Freest hardware comparisons#Mobile Phones and PDA/Tablets]]
 +
 +
== References ==
 +
<references/>
 +
 +
[[Category:LibrePlanet2010 Hacking]]

Latest revision as of 18:36, 18 July 2012

Please remember that this event is focused on free software, not open source. We have a set of guidelines for speakers, but we ask everyone to be mindful of the power of words and the importance of framing the issues being discussed and worked on in the best possible terms.

Register now

Everyone who attends gets a free t-shirt too

The following is a dump from our previous free phones event in September.

---

We will go over the following:

Smartphones

List of free/mostly-free phones:

To be released soon:


Moral Abstraction Devices[1]:

  • Novatel's MiFi 2200 portable EV-DO router


Criteria to be counted:

  • available for purchase
  • ability to make phone calls
  • ability to let users develop software for it
  • not required to void phone warranty to benefit (in some way) from freedoms provided. Eg. sure you can install Debian on an iPhone, but that doesn't mean the iPhone counts.

Mobile operating systems

free

Some activists are working to develop and maintain a freed versions of the most known and preinstalled mobile os:

  • Replicant (a freed Android)
  • Mer (a freed Maemo) "Mer is now an inactive project"

See Talk:Future Phone Freedom Workshop#Are they trying to screw you? for why this might be a good thing to do.

partially free

For the moment we have the following:


Comparison Table

FSO based (SHR etc.) MeeGo Web OS Android Bada Ophone (Android based) Access Linux Platform
Company Openmoko Nokia + Intel Palm Google Samsung China Mobile Access Co.
License GPL + others various free software licenses [2] Palm EULA, GPL, others Apache 2.0 and GPLv2, closed for google apps rumors say free software Apache 2.0 and GPLv2 don't know
Supported Architectures ARM ARM, i386 ARM ARM, MIPS, Power Architecture, x86 ARM ARM, MIPS, Power Architecture, x86 ARM
Update method opkg RPM os internal app os internal app don't know yet don't know don't know
Package manager opkg RPM Package Manager don't know ipk? don't know yet don't know don't know
Default user interface Enlightenment's Illume default Qt UI but gtk, clutter and MX supported non free Web OS UI Android Enlightenment's Illume don'know, should be Android don't know

Usability vs. Freedom

The Neo Freerunner is completely free (on the main cpu), but not really usable. Usability should be graded as follows:

  1. can be used as a phone reliably (includes address book)
  2. can be used for common smartphone tasks, such as calendaring and web browsing
  3. can synchronize with external services
  4. ...

Developer freedom

Ability to develop on the phone using a free development environment. (I think all of them can be developed using only free software. [look into Android]).

Stack freedom

Go over, for each phone, what parts of the phone stack are [not] free. Maybe a chart to show all of the phones in comparison (there's bound to be something online that compares this already; if not, let's make it).

Hackability freedom

Ok, so you want to "root" your phone (if it is not already rooted). What can you do with that power? How hard is it to gain this access?

What cool things has this given to users? (I suspect there are a lot of interesting hacks in the OpenMoko world)

Community

Is there a community around the phone? How healthy / vibrant is it?

https://www.noisebridge.net/wiki/Noisedroid

Carrier freedom

If the phone is locked to a carrier, what is that carrier's attitude toward exercising your SW freedom and what are the potential repercussions of going against their stated desires?

Going forward toward a usable, free phone

What parts of the SW stack are missing to make each platform entirely free and usable?

Comparison Table

Freerunner
(Openmoko)
G1, G1 ADP, MyTouch
(Android)
Prē
(WebOS)
N900
(Maemo 5)
iPhone
US Carriers AT&T, T-Mobile AT&T, T-Mobile Sprint AT&T, T-Mobile AT&T
Usability (ugh, meh, woo, yay!) meh woo woo unk yay!
License Free software proprietary and apache2 for userland; GPLv2 for linux proprietary and various free for userland; GPLv2 for linux proprietary and various free for userland; GPLv2 for linux all proprietary
Base applications free (varied) free apart google apps mixed mixed nonfree
Purchasable yes yes (contract subsidy) yes (contract subsidy) yes yes (contract subsidy)
Ability to install custom OS yes yes (exploit or downgrade) yes [3] yes[4] maybe (exploit only; actively discouraged)
Radio Firmwares(GPS, GSM, Wifi) nonfree, nonfree, free[5] All nonfree[6] All nonfree unk, unk, nonfree[7] All nonfree
OS GNU/Linux Android/Linux GNU/Linux GNU/Linux nonfree
GUI layer free (varied) free (Android) nonfree (WebOS)[8] free (Maemo) nonfree
SDK free mix[9] nonfree free[10] nonfree
SDK runs on Free Software yes yes yes yes no
Hacking voids warranty? no yes unk unk yes
App store om-showroom in development nonfree by default; free version available, FLOSS Dispenser nonfree by default; free version available, PreWare[11] free, Hildon Application Manager nonfree

See also

References

  1. nonfree but lets you use non-phone mobile devices as phones via voip
  2. GPLv2 for Linux, GNU LGPLv2 for API and libraries, for the software "All OSI compatible licenses are OK in principle but there is following emphasis: Use of GNU (L)GPL version 2.x is encouraged and currently use of GNU (L)GPL version 3 is discouraged." see here
  3. SHR already compiled, first call made - installed OS is OpenEmbedded variant
  4. It remains to be seen if/how subsidized versions will be locked down - if indeed they appear at all.
  5. John Sullivan, Operations Manager at the FSF writes: I was correct -- there is no linux-loaded proprietary firmware for the wifi. There is of course proprietary firmware in flash on the chip, but it is not upgradeable. See for example this mailing list post - "---2 The 2nd best option would be that all software on the main CPU is Free Software, and other firmwares are not user-upgradeable, do not have to be loaded at boot time, and can thus be considered to be part of the 'circuit' of that chip, a black box. Some people find this option laughable, as it looks like someone not wanting to know the truth, but for a number of reasons the FSF and Richard Stallman believe this is the right way to protect freedom. GTA02 is at this level, let's call it the 'FSF level' :-)". The proprietary firmware on the chip has been a source of problems (because for example it is compiled with debug options on), so that's presumably why people are saying otherwise. root@om-gta02 /lib/modules/2.6.29-rc3 $ find . -name *.bin doesn't return anything, fwiw.
  6. There are 4 CPU,The Arm9 CPU controls the modem+gps(mDSP),the audio(aDSP),and the mDSP and the aDSP are all non-free,the application CPU is an arm9,not much is known about the msm architecture
  7. GSM/GPS firmwares may be stored in rom, however, they are almost certainly upgradable
  8. Can also run directfb GUI without WebOS GUI, however no one has written tslib module for touchscreen yet so limited usefullness
  9. Official SDK requires nonfree Sun Java,can be liberated if you compile your own and use a patch
  10. Toolchain is all free, to run the device emulator you need nonfree Nokia binaries.
  11. You do not need to access the GNU/Linux command line or "root your Pre" to install or use Preware (which is the GPLv2 app store client). However you install it with "WebOS Quick Install", which is nonfree software, under a provision that allows "WebOS applications that are in-testing, which under section 4.2 of the Palm SDK License Agreement allows for such unapproved applications to be installed on Palm devices" [1]