View Single Post
javispedro's Avatar
Posts: 2,355 | Thanked: 5,249 times | Joined on Jan 2009 @ Barcelona
#414
Warning: RANT ahead.

My Liveview died early because of the poor live quality. I found a cheap Gear2 and decided to buy it, so I've now experienced Tizen....

The political side: not good.
The technical side: good, but certainly not an improvement.

Please note these experiences come from the "Tizen Wearable" profile, which argably is a small subset of overall Tizen. It may be very different in the "other Tizens".

In fact, this is my first complaint: there is no 'one' Tizen but many and each has personalities. There seems to be Tizen IVI, whichof which you cal already find 3.0 releases despite the fact 3.0 is the "promised eden" release on which they'll release roadmaps and other niceties, possibly because this is the Tizen Intel seems to be interested in. There is Tizen Mobile/Wearable, which is basically Samsung's pet, which seems to be still at version 2.2 with preview 2.3 releases being released. How huge is the rift between IVI and Mobile I don't know, but it seems large. On the other hand the separation between Mobile and Wearable seems completely artificial.


Samsung seems to have free reign over Tizen Mobile/Wearable, in the same way Sailfish seems to do so over Mer these days. But Samsung is basically evil.

For me it's quite an annoyance if they have "open development" and then refuse to even mention which versions/commits/tags were used to build the software packages in the actual released devices.
Jolla sometimes shares this problem but at least you have the source DVDs.

Samsung has however gone one step further in evilness. Their source dumps do not contain any Tizen packages. They will make patches to Tizen core frameworks and not release the source for those changes. They are allowed to do this because a) they basically own all tizen copyrights b) most Tizen packages are Apache licensed, ala Google. So Tizen is even more fake open source than Jolla is. Possibly even more fake than Android.


In second place, Tizen is more "alien" to GNU/Linux than Maemo/Meego/Sailfish. Whenever Samsung can reinvent the wheel -- they reinvent it and overengineer it. Some concrete examples (again, I am completely biased from the wearable/mobile PoV):
  • Graphics stack: at its core is normal X11. However, there are many Tizen "inventions" for the 3D side: COREGL, /dev/slp_global_lock, -exynos x11 driver, etc. One would think that with Samsungs "muscle" it would not be a problem to get 3D drivers for Tizen. That is correct. However, these drivers are unusable for anything non-Tizen because of the above Tizen inventions. Whether this is intentional in order to cripple normal GNU/Linux or not I don't know.
  • Multiple abstraction layers for Bluetooth. There's at least two different bluetooth "frameworks" abstracting Tizen programs from BlueZ. I suppose this helped them overcome the BlueZ 5 API problem, but it doesn't look right at all.
  • "libdevice" is used for stuff such as getting battery life instead of the "more normal" upower/udev way.
  • An "Application framework" (AUL) that is Tizen specific, instead of the normal freedesktop rules.
  • Their own settings framework (vconf) instead of dconf, gconf, or whatever EFL uses.
  • They use GLib, GIo, EFL, and a bunch of other libraries but this didn't prevent them from implementing another GVariant/binaryJSON/binaryXML clone: libbundle. Comes from SamsungLinuxPlatform days and uses its own binary formats for _anything_. They are _checksumed_, for some complex reason. Obviously this libbundle is also used for _everything_, including serializing complex data structures for the above Tizen settings framework, which only accepts "strings". My first attempt to use this library resulted in a crash, so it's probably full of security issues.
  • sdb (an Android adb clone) instead of using normal ssh to debug. Despite the fact its name is supposed to be "Smart Debug Bridge" most Tizen people and even the documentation calls it the "Samsung Debug Bridge". Enlightening.
  • Their own package manager.


Third, and this is strictly a Wearables thing. Samsung is keeping the protocol they use to talk between wearables and phones "propietary". What does that mean for the Tizen "wearable" profile, where half of the core applications depend on working communication with a phone?

No problem! They just upload the closed source binary blobs to a Git repo and hope no one notices!

Obviously those closed-source, propietary binary blobs are a build dependency of most of Tizen wearable.

I am very unhappy with it. Basically I have to treat what runs on the Gear2 as a closed platform. Even if the device itself has an open bootloader...

Last edited by javispedro; 2014-08-27 at 18:33. Reason: typos and formatting
 

The Following 12 Users Say Thank You to javispedro For This Useful Post: