Replicant is a distribution of Android that is 100% Free Software.
Most of Android is licensed freely under the Apache License 2.0. The Linux core is mostly Free Software under the GPLv2. However, there are numerous components of the default software stack on the devices that are proprietary software. Most notably, nearly any component that touches the hardware directly is proprietary software.
We are not experts in embedded devices; we are just enthusiastic hackers that are giving a try.
Finding more infos
You can find more infos and news about the Replicant project on our blog:
A wiki is also there to provide more informations about the devices Replicant runs on, instructions to install Replicant, resources for developers (like the porting guide, or instructions to build Replicant from source):
In order to contact Replicant people, get some help, involve yourself in the project or just chat, you can find:
- A mailing list: http://lists.osuosl.org/mailman/listinfo/replicant
- An IRC channel: #replicant on irc.freenode.net
The source code for Replicant is available at:
Some howtos that explain how to build the code are available on the wiki.
The status table with the list of the devices Replicant supports, for each version and with a list of what works and what doesn't (yet) is located at:
Note that the following libreplanet page also contains relevant infos about Replicant status:
There are many ways to get involved in Replicant and you are welcome to help in any possible way. For instance, here"s a non-exhaustive list of what could be done to help:
- Spread the word about Replicant, on the Internet, via social networks like identi.ca, or directly to whoever could be interested
- Install Replicant if your smartphone is supported
- Test what's working and what's not (for instance, telephony if non one did it yet in your country)
- Submit android libre apps for inclusion in the F-Droid repository
- Write documentation and howtos for Replicant
- If you're a developer, join the effort to achieve the missing bits on the already-supported devices
- If you're a developer, commit support for new device(s) (e.g. tablets, recent phones, etc)
The best way to get started is to come on our IRC channel, #replicant on irc.freenode.net, introduce yourself and see what you can do.
Historic patch to run a 100% free android stack on HTC Dream
This is a quite old patch that is probably one of the first attempts to get a 100% free android stack on the HTC Dream and that's the reason that explains why it's here. If you don't think it's a good idea to keep this here, feel free to remove it.
Here are the patches for having a fully free android system
- /!\Beware!!! the result haven't been tested on a real device ...do not flash your device with this build yet
- Because the firmwares are proprietary you may choose (or not) to push the firmwares to the device with the free images(would be as free as the openmoko)
- The ril has been replaced by the generic ril
android@port4 ~/freedroid/patches $ ls 0001_do-not-build-proprietary-code.patch 0003-nogps.patch 0004_no-3d.patch 0005_no-camera.patch 0006_remove-firmware-because-cant-distrbute-it.patch 0007-use-libreference-ril.patch obsolete series android@port4 ~/freedroid/patches $ cat 0001_do-not-build-proprietary-code.patch Index: freedroid/vendor/htc/dream/AndroidBoard.mk =================================================================== --- freedroid.orig/vendor/htc/dream/AndroidBoard.mk +++ freedroid/vendor/htc/dream/AndroidBoard.mk @@ -54,20 +54,5 @@ PRODUCT_COPY_FILES += \ proprietary := $(LOCAL_PATH)/proprietary PRODUCT_COPY_FILES += \ - $(proprietary)/libhtc_ril.so:system/lib/libhtc_ril.so \ - $(proprietary)/libaudioeq.so:system/lib/libaudioeq.so \ - $(proprietary)/libqcamera.so:system/lib/libqcamera.so \ - $(proprietary)/libgps.so:obj/lib/libgps.so \ - $(proprietary)/libgps.so:system/lib/libgps.so \ - $(proprietary)/libhgl.so:system/lib/libhgl.so \ $(proprietary)/brf6300.bin:system/etc/firmware/brf6300.bin \ - $(proprietary)/akmd:system/bin/akmd \ - $(proprietary)/AudioFilter.csv:system/etc/AudioFilter.csv -PRODUCT_COPY_FILES += \ - $(proprietary)/AudioPara4.csv:system/etc/AudioPara4.csv \ - $(proprietary)/gps.conf:system/etc/gps.conf - -PRODUCT_COPY_FILES += \ - $(proprietary)/tiwlan.ini:system/etc/wifi/tiwlan.ini \ - $(proprietary)/Fw1251r1c.bin:system/etc/wifi/Fw1251r1c.bin android@port4 ~/freedroid/patches $ cat 0003-nogps.patch Index: freedroid/vendor/htc/dream/BoardConfig.mk =================================================================== --- freedroid.orig/vendor/htc/dream/BoardConfig.mk +++ freedroid/vendor/htc/dream/BoardConfig.mk @@ -13,7 +13,8 @@ HAVE_CUSTOM_WIFI_DRIVER_2 := true # BOARD_USES_GENERIC_AUDIO := true -BOARD_GPS_LIBRARIES := libgps librpc +#BOARD_GPS_LIBRARIES := libgps librpc +BOARD_HAVE_GPS_HARDWARE := false # Flash Partition size limits for build sanity checking # android@port4 ~/freedroid/patches $ cat 0005_no-camera.patch Index: freedroid/vendor/htc/dream/BoardConfig.mk =================================================================== --- freedroid.orig/vendor/htc/dream/BoardConfig.mk +++ freedroid/vendor/htc/dream/BoardConfig.mk @@ -19,6 +19,9 @@ BOARD_HAVE_GPS_HARDWARE := false #Disable 3d TARGET_HARDWARE_3D := false +#no camera: +USE_CAMERA_STUB := true + # Flash Partition size limits for build sanity checking # BOARD_BOOTIMAGE_MAX_SIZE := 2621440 android@port4 ~/freedroid/patches $ cat 0006_remove-firmware-because-cant-distrbute-it.patch Index: freedroid/vendor/htc/dream/AndroidBoard.mk =================================================================== --- freedroid.orig/vendor/htc/dream/AndroidBoard.mk +++ freedroid/vendor/htc/dream/AndroidBoard.mk @@ -48,11 +48,3 @@ PRODUCT_COPY_FILES += \ # PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/vold.conf:system/etc/vold.conf - -# htc proprietary code -# -proprietary := $(LOCAL_PATH)/proprietary - -PRODUCT_COPY_FILES += \ - $(proprietary)/brf6300.bin:system/etc/firmware/brf6300.bin \ - $ cat 0007-use-libreference-ril.patch Index: freedroid/vendor/htc/dream/system.prop =================================================================== --- freedroid.orig/vendor/htc/dream/system.prop +++ freedroid/vendor/htc/dream/system.prop @@ -1,6 +1,7 @@ # # system.prop for dream # +rild.libpath=/system/lib/libreference-ril.so +rild.libargs=-d /dev/smd0 -rild.libpath=/system/lib/libhtc_ril.so wifi.interface = tiwlan0