LibrePlanet: Conference/2010/Hacking/Free phones workshop
(→Hackability freedom) |
m (moved LibrePlanet2010/Hacking/Free phones workshop to LibrePlanet:Conference/2010/Hacking/Free phones workshop) |
||
(63 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{LP2010}} | |
− | + | 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: | ||
− | == | + | == Smartphones == |
+ | List of free/mostly-free phones: | ||
− | + | * [http://wiki.openmoko.org Neo Freerunner] | |
− | * | + | * [http://www.freesmartphone.org/index.php/Palm_Pre:_Jan_2010_-_%3F Palm Pre] |
− | * | + | * HTC ADP, HTC [http://www.freesmartphone.org/index.php/Hardware/HTC_Dream Dream], Magic, MyTouch, etc. (Android) |
− | + | * Nokia N900 | |
− | * | ||
To be released soon: | To be released soon: | ||
− | * | + | |
+ | * [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 == | ||
− | + | 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:
Contents
Smartphones
List of free/mostly-free phones:
- Neo Freerunner
- Palm Pre
- HTC ADP, HTC Dream, Magic, MyTouch, etc. (Android)
- Nokia N900
To be released soon:
- HandyPC S101 (Not DRMed, choice of Android or QT Embedded)
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:
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:
- FSO based os (e.g. SHR)
- MeeGo (Moblin + Maemo merged)
- Web OS (os of the Palm Pre and Pixi)
- Google Android
- Ophono
- Samsung Bada
- Access Linux Platform (ALP)
Comparison Table
FSO based (SHR etc.) | MeeGo | Web OS | Android | Bada | Ophone (Android based) | Access Linux Platform | |
---|---|---|---|---|---|---|---|
Company | Openmoko | Nokia + Intel | Palm | 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:
- can be used as a phone reliably (includes address book)
- can be used for common smartphone tasks, such as calendaring and web browsing
- can synchronize with external services
- ...
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
- ↑ nonfree but lets you use non-phone mobile devices as phones via voip
- ↑ 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
- ↑ SHR already compiled, first call made - installed OS is OpenEmbedded variant
- ↑ It remains to be seen if/how subsidized versions will be locked down - if indeed they appear at all.
- ↑ 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.
- ↑ 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
- ↑ GSM/GPS firmwares may be stored in rom, however, they are almost certainly upgradable
- ↑ Can also run directfb GUI without WebOS GUI, however no one has written tslib module for touchscreen yet so limited usefullness
- ↑ Official SDK requires nonfree Sun Java,can be liberated if you compile your own and use a patch
- ↑ Toolchain is all free, to run the device emulator you need nonfree Nokia binaries.
- ↑ 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]