FreeCalypso GSM MS project is part of Themyscira Wireless family, and we view our work on the mobile side of GSM (FreeCalypso) as complementary to the very important and valuable work of Osmocom on the network side of GSM, to which we also contribute quite extensively as Themyscira Wireless.
However, over the course of the many years we have been around (FreeCalypso project goes back to 2013) some people have formed a mistaken impression that FreeCalypso is somehow opposed to or at odds with Osmocom. This misunderstanding stems from loss of nuance: the actual situation is that we indeed disapprove of one specific component of Osmocom — but when it comes to the much more important Osmocom CNI project, we not only support it enthusiastically and philosophically, but actively contribute to it.
Our opposition to OsmocomBB (one specific troublesome component of Osmocom)
is based not on technical grounds, but on moral or ethical
ones.
The moral or ethical framework of the Women's Republic of Themyscira
is rooted in Marxism-Leninism: we believe that Western capitalist
intellectual property
laws are made to be broken, and if you as
an average individual somehow come into possession of leaked proprietary
source code, you have a duty to Humanity to share that ware
with other comrades who may want to play with it.
Furthermore, we believe that when it comes to such liberated ex-proprietary
source code, We the People have a natural right to do a lot more with it
than just look at it with curious eyes: if a team of Comrades feels called
to do so for solid technical reasons, we have every right to import
liberated ex-proprietary source into a
Mercurial repository as our
starting point, and then treat it as bona fide Free Software afterward,
i.e., develop it forward and maintain it following standard FLOSS methods
and practices.
Our FreeCalypso GSM MS project is heavily based on such liberated
ex-proprietary software: our FreeCalypso firmware
is proudly based on TCS211 and TCS3.2 firmware sources from TI, code that was
abandoned, disowned and thrown in the trash by TI.
Ours is not a from-scratch reimplementation!
Furthermore, our hardware is specifically designed for the purpose
of running this pirate-based
firmware, not for any other purpose,
hence the hardware component of FreeCalypso should also be seen as part of
our pro-piracy
world view.
Our opposition to the BB
component of Osmocom
(just this component, not all of Osmocom!)
is rooted in some very severe and unforgivable moral transgressions
that were committed by OsmocomBB team very early in the history
of their project:
They had access to TCS211 semi-src from the ruins of Openmoko
going back to the very beginning of their project.
This semi-src was liberated for all of Humanity (such that the Mother of
FreeCalypso became able to access it as an ordinary unprivileged woman)
in the Northern hemisphere fall of 2013, but the core people behind OsmocomBB
had access to it for many years prior, going back to the very beginning
of their idea.
Contrary to their vehement denials, they used this ware as one of the key
sources of knowledge for their project — see my
REcon MTL 2017 presentation
for the undeniable evidence.
However, they chose to use this source in an eyes only
manner:
they looked at it, they learned from it, but they did not
use it as foundation for their own code base, instead they wrote their
own code from scratch.
OsmocomBB folks of year 2009 going into 2010 may have had justifiable technical reasons for choosing their approach, reasons that go beyond cowardice and unwillingness to openly break immoral copyrights. The starting point from the ruins of Openmoko was not full source, it was about 40% of actual source and 60% in linkable binary objects whose corresponding source was censored out. All parts that would have been interesting to those people (RF, L1, G23M protocol stack) were in the 60% blobs portion. In a much later time (2015 through 2017) we (FreeCalypso) produced our own accurate reconstruction of this source-censored part, using TCS3.2 (LoCosto) source to fill the gaps — but that source did not exist prior to 2010-June, which was several months after the bootstrap phase of OsmocomBB. Furthermore, OsmocomBB had very different goals, and given the repertoire of available source leaks as of late 2009 into early 2010, the approach they ended up taking may have been the only viable approach toward their goals. Therefore, their choice to not make direct reuse of TCS211 Layer 1 code in their project is not the severe moral/ethical flaw which we have a fundamental problem with — it is the next part that follows.
The true moral crime committed by founders of OsmocomBB over the time span from 2011 to 2013 was denying other people access to the same code which they chose to not make direct reuse of. If they chose to not import that code directly and build upon it, it is their choice and their natural right on how to build and structure their project — but they had no moral right to impose the same choice on other parties with different technical goals and different views on acceptability of lawbreaking.
The moral crime on the part of OsmocomBB founders is independent of the existence of TCS3/LoCosto leaks that allowed us to fully deblob TCS211, i.e., transform it from semi-src into full source. In the timeline we live in, those OsmocomBB founders continued guarding their secret copy of TCS211 (wrongfully denying access to it to others) through the fall of 2013 (Northern hemisphere), while the LoCosto source release from Peek happened some time in 2012 and was found by me (Mother Mychaela) in the spring of 2013. But suppose we lived in an alternate timeline in which no TCS3/LoCosto leaks happened at all, such that the only available sources were the famous TSM30 and the TCS211 semi-src from Openmoko — what then? In that alternate Universe the TCS211 semi-src would still have been enormously valuable to me! Deblobbing would have been impossible — but I would have been perfectly content with keeping the GSM+GPRS protocol stack (plus L1 and RF) in binary form while hacking on the phone handset UI layers, which came in full source in TCS211 semi-src delivery. Defenestration of the build system (converting to one that feels Unix-native) was also independent of deblobbing and would have been possible without additional sources.
Because of these moral/ethical considerations, we (FreeCalypso)
refuse to use OsmocomBB and insist on developing, maintaining and improving
our own FreeCalypso GSM MS firmware instead.
But this consideration applies only to the BB
part
of Osmocom, and only on the mobile side of GSM!
On the other hand, on the network side of GSM the situation is completely
different:
Osmocom CNI
is the very best existing technical solution for the network side of GSM,
and it does not suffer from any of the moral taints that
impact OsmocomBB.
Therefore, the conclusion for Themyscira Wireless (and for the whole
Women's Republic of Themyscira) is clear: we use Osmocom CNI on the network
side of GSM, and actively contribute to that project, while on the mobile side
of GSM air interface (Um) we maintain our own FreeCalypso GSM MS.