Facebook knows about you even if you are not a member

An article about [the scope of Facebook's data collection][0] speaks for
itself; this really does not come as a surprise, but is nonetheless
unsettling.

Encourage your friends, colleagues and acquaintances to use services like
[Diaspora][1] that are respectful of your data instead. Better yet: explain
to those individuals the problems of social media services and ask that they
respectfully leave you out of it.

[0] http://www.groovypost.com/news/facebook-shadow-accounts-non-users/
[1] https://joindiaspora.com/
Windows 8.1 to display targeted advertisements on local system searches

It is very disturbing that [Microsoft decided that it would be a good idea
to display targeted ads on local searches][0]---that is, if you search for a
file on your PC named ``finances'', you may get ads for finance software,
taxes, etc. If you search for ``porn'', well, you get the idea.

  Bing Ads will be an integral part of this new Windows 8.1 Smart Search
  experience. Now, with a single campaign setup, advertisers can connect
  with consumers across Bing, Yahoo! and the new Windows Search with highly
  relevant ads for their search queries. In addition, Bing Ads will include
  Web previews of websites and the latest features like site links, location
  and call extensions, making it easier for consumers to complete tasks and
  for advertisers to drive qualified leads.[1]

While that is certainly obnoxious, consider the larger issue of privacy
(which seems to be in the news a lot lately[2][3]): Late last year, there
was an uproar in the Free Software community when [Ubuntu decided to query
Amazon---enabled by default---on local searches][4] using their new Unity
interface. The problem is that your personal queries are being sent to a
third party---queries that you generally would expect to be private. If I
run a `find' or `grep' command on my system, I certainly do not expect it to
report to Amazon or Microsoft what I am searching for.

And to make matters even worse, Microsoft is exploiting this information to
allow advertisers to target you. [Ironic.][5]

[Do not use Windows 8][6] (or any other proprietary software, for that
matter).

[0] http://www.computerworld.com/s/article/9241524/Steven_J._Vaughan_Nichols_Microsoft_Bing_bang_bungles_local_search
[1] http://community.bingads.microsoft.com/ads/en/bingads/b/blog/archive/2013/07/02/new-search-ad-experiences-within-windows-8-1.aspx
[2] [cref:2d97ce3e654c74345794bedcbcca215cfaf75e20]
[3] [cref:c9a9837b4f23c1e350d270d9782544fdef705bc0]
[4] http://www.fsf.org/blogs/rms/ubuntu-spyware-what-to-do
[5] http://www.scroogled.com/email/
[6] https://www.fsf.org/windows8
Measuring Air Temperature With Phone Batteries

OpenSignal---a company responsible for mapping wireless signal
strength by gathering data using mobile device software---noticed [an
interest correlation between battery temperature on devices and air
temperature][0].

  Aggregating daily battery temperature readings to city level revealed a
  strong correlation with historic outdoor air temperature. With a
  mathematical transformation, the average battery temperature across a
  group of phones gives the outdoor air temperature.[0]

**Note:** Graph renderings on their website require proprietary JavaScript, but
the article does describe it in detail, so it is not necessary. In
particular, note that, from their provided equation[0], their scaling factor
`m' implies that there is a smaller variance in battery temperature in the
graph than there is in the actual air temperature, but that there is still a
correlation.

This is an interesting find. The article further states that ``[...] we have
one data point where the Android data is actually more reliable than the
traditional source.''

Such data can be very useful in providing decentralized data, so long as
[issues of privacy][1] are addressed. Doing so is not terribly difficult,
but would have a number of factors. In particular, the user would need the
means to submit data anonymously, which could be done via software/networks
such as [Tor][2]. GPS location data is certainly a privacy issue when it is
tied to your mobile device, but fortunately, it's unneeded: you can trust
your users to let you know where they reside by either (a) opting into using
location services or (b) allowing them to specify a location or approximate
location of their choosing (approximations would be important since a user
may not wish to change their location manually while they travel, say, to
and from work). If enough devices submit data, then legitimate data would
drown out those who are trying to purposefully pollute the database. Such an
example can be seen with Bitcoin, in which networks will [reach a consensus
on correct blockchains][3] so long as ``a majority of computing power is
controlled by nodes that are not cooperating to attack the network''. Of
course, users would be able to pollute the network by sending false data as
it is, and the data is already tarnished from various factors such as body
heat.[0]

Of course, I do assume that mobile devices will contain temperature sensors
in the future; [some already do][4] (but I cannot encourage their use, as
they use [proprietary software][5]). However, this is still a clever hack (I
suppose that term is redundant). In my searching while writing this article,
I did notice [prior examples of ambient temperature readings using Android
software][6] ([proprietary][5]), but the software does not aggregate data
for purposes of determining weather patterns.

Finally, please do not download OpenSignal's app; it too is
[proprietary][5]; this discussion was purely from a conceptual standpoint
and does not endorse any software.

[0] http://opensignal.com/reports/battery-temperature-weather/
[1] [cref:c449ff03fbd10e2ad113a6b8cd95dacb8126efdf]
[2] https://www.torproject.org/
[3] http://en.wikipedia.org/wiki/Protocol_of_Bitcoin
[4] http://stackoverflow.com/a/11628921
[5] http://www.gnu.org/philosophy/free-sw.html
[6] https://play.google.com/store/apps/details?id=androidesko.android.electronicthermometer&hl=en
FreeBSD, Clang and GCC: Copyleft vs. Community

A useful perspective explaining why [FreeBSD is moving away from GCC in
favor of Clang][0]; indeed, they are moving away from GPL-licensed software
in general. While this is [not a perspective that I personally agree
with][1], it is one that I will respect for the project. It is worth
understanding the opinions of those who disagree with you to better
understand and formulate your own perspective.

But I am still a free software activist.

  The goal of the FreeBSD Project is to provide a stable and fast general
  purpose operating system that may be used for any purpose without strings
  attached.[2]

As is mentioned in the aforementioned article[0], the BSD community does not
hold the same opinions on what constitutes ``without strings
attached''---the BSD community [considers the restriction on the user's
right to make proprietary use of the software to be a ``string''][2],
whereas the free software community under [RMS][3] believes that [the
ability to make a free program proprietary is unjust][4]:

  Making a program proprietary is an exercise of power. Copyright law today
  grants software developers that power, so they and only they choose the
  rules to impose on everyone else—a relatively small number of people make
  the basic software decisions for all users, typically by denying their
  freedom. When users lack the freedoms that define free software, they
  can't tell what the software is doing, can't check for back doors, can't
  monitor possible viruses and worms, can't find out what personal
  information is being reported (or stop the reports, even if they do find
  out). If it breaks, they can't fix it; they have to wait for the developer
  to exercise its power to do so. If it simply isn't quite what they need,
  they are stuck with it. They can't help each other improve it.[4]

The [Modified BSD License][5] is a GPL-compatible Free Software
license---that is, software licensed under the Modified BSD license meets
the requirements of the [Free Software Definition][6]. The additional
``string'' that the BSD community is referring to is the concept of
[copyleft][7]---Richard Stallman's copyright hack and one of his most
substantial contributions to free software and free society. To put it into
the words of the FSF:

  Copyleft is a general method for making a program (or other work) free,
  and requiring all modified and extended versions of the program to be free
  as well.[7]

Critics often adopt the term [``viral'' in place of ``copyleft''][8] because
of the requirement that all derivatives must contain the same copyleft
terms---the derivative must itself be Free Software, perpetually (until, of
course, the copyright term expires and it becomes part of the public domain,
[if such a thing will ever happen at this rate][9]). In the case of the
Modified BSD license---being a more permissive license that is non-copyleft
and thus allows proprietary derivatives---derivative works that include both
BSD- and GPL-licensed code essentially consume the [Modified BSD license's
terms][10], which are a subset of the [GPL's][11]. Of course, this is not
pursuant to [FreeBSD's goals][2] and so they consider this to be a bad
thing: There are ``strings attached''.

This is more demonstrative of the [``open source'' philosophy than that of
``Free Software''][12] (yes, notice the bias in my capitalization of these
terms).

[Copyleft is important][7] because it ensures that all users will forever
have the [four fundamental freedoms associated with Free Software][6]. The
GPL incorporates copyleft; BSD licenses do not. Consider why this is a
problem: Imagine some software Foo licensed under the Modified BSD
license[10]. Foo is free software; it is licensed under a free software
license (Modified BSD).[5] Now consider that someone makes a fork---a
derivative---of Foo, which we will call ``Foobar''. Since the Modified BSD
license is not copyleft[10], the author of Foobar decides that he or she
does not wish to release its source code; this is perfectly compliant with
the Modified BSD license, as it does not require that source code be
distributed with a binary (it only requires---via its second
clause[10]---that the copyright notice, list of conditions and disclaimer be
provided).

The author has just taken Foo and made it proprietary.

The FreeBSD community is okay with this; [the free software community is
not][4]. There is a distinction between these two parties: When critics of
copyleft state that they believe the GPL is ``less free'' than more
permissive licenses such as the BSD licenses, they are taking into
consideration the freedoms of developers and distributors; the GPL, on the
other hand, explicirly *restricts* these parties' rights in order to protect
the *users* because those parties are precisely those that seek to *restrict
the users' freedoms*; we cannot provide such freedoms to developers and
distributors without sacrificing the rights of the vulnerable users who
generally do not have the skills to protect themselves from being taken
advantage of.[13] Free software advocates have exclusive, unwaivering
loyalty to users.

As an example of the friction between the two communities, consider a
concept that has been termed [``tivoization''][14]:

   Tivoization means certain “appliances” (which have computers inside)
   contain GPL-covered software that you can't effectively change, because
   the appliance shuts down if it detects modified software. The usual
   motive for tivoization is that the software has features the manufacturer
   knows people will want to change, and aims to stop people from changing
   them. The manufacturers of these computers take advantage of the freedom
   that free software provides, but they don't let you do likewise.[14]

This [anti-feature][15] is a type of [Digital Restrictions Management
(DRM)][16] that exposes a [loophole in the GPL that was closed in
Section 3 of the GPLv3][14], which requires that:

  When you convey a covered work, you waive any legal power to forbid
  circumvention of technological measures to the extent such circumvention
  is effected by exercising rights under this License with respect to the
  covered work, and you disclaim any intention to limit operation or
  modification of the work as a means of enforcing, against the work's
  users, your or third parties' legal rights to forbid circumvention of
  technological measures.[11]

Unfortunately, not everyone has agreed with this move. A number of
[developers of the kernel Linux expressed their opposition of GPLv3][17]. In
response to the aforementioned GPLv3 provision, they stated:

  While we find the use of DRM by media companies in their attempts to reach
  into user owned devices to control content deeply disturbing, our belief
  in the essential freedoms of section 3 forbids us from ever accepting any
  licence which contains end use restrictions. The existence of DRM abuse is
  no excuse for curtailing freedoms.[17]

Linus Torvalds---the original author of the kernel Linux---also [expressed
his distaste toward the GPLv3][18]; the kernel is today still licensed under
the GPLv2.

[The BSD camp has similar objections][19]:

  Appliance vendors in particular have the most to lose if the large body of
  software currently licensed under GPLv2 today migrates to the new license.
  They will no longer have the freedom to use GPLv3 software and restrict
  modification of the software installed on their hardware. High support
  costs ("I modified the web server on my Widget 2000 and it stopped
  running...") and being unable to guarantee adherence to specifications in
  order to gain licensing (e.g. FCC spectrum use, Cable TV and media DRM
  requirements) are only two of a growing list of issues for these
  users.[19] --Justin Gibbs, VP of The FreeBSD Foundation

My thoughts while reading the above where echoed by Gibbs further on in his
statement: ``[T]he stark difference between the BSD licensing philosophy and
that of the Free Software Foundation are only too clear.'' For the FreeBSD
community, this is a very serious issue and their argument is certainly a
legitimate concern on the surface. However, it is an argument that the Free
Software community would do well to reject: Why would we wish to sacrifice
users' freedoms for any reason, let alone these fairly absurd ones. In
particular, a support contract could dictate that only unmodified software
will be provided assistance and even mandate that the hardware indicate
changes in software: like breaking the ``void'' sticker when opening a
hardware component. Moreover, how frequently would such a situation
actually happen relative to their entire customer base? My guess is: fairly
infrequently. The second issue is a more complicated one, as I am not as
familiar on such topics, but a manufacturer can still assert that the
software that it provides with its devices is compliant. If the compliance
process forbids any possibility of brining the software into
non-compliance---that is, allowing the user to modify the software---then
the hardware manufacturer can choose to not use free software (and free
software advocates will subsequently reject it until standards bodies grow
up).

As I mentioned at the beginning of this article: this is a view that I will
respect for the project. I disagree with it, but FreeBSD is still free
software and we would do well not to discriminate against it simply because
someone else may decide to bastardize it and betray their users by making it
proprietary or providing shackles[16]. However, provided the licensing
option for your own software, you should choose the GPL.

**Colophon:** The title of this article is a play on [RMS' ``Copyright vs.
Communty''][20], which is a title to a speech he frequently provides
worldwide. His speech covers how copyright works against the interests of
the community; here, BSD advocates aruge that [copyleft][7] works against
the interests of *their* community and their users; I figured that I would
snag this title as a free software advocate before someone else opposing
copyleft did.)

[0] http://unix.stackexchange.com/a/49970
[1] [cref:3c37140146dac754ffd80ed8ab4aaa7c182c9c00]
[2] http://www.freebsd.org/doc/faq/introduction.html#FreeBSD-goals
[3] http://en.wikipedia.org/wiki/Richard_Stallman
[4] http://www.gnu.org/philosophy/freedom-or-power.html
[5] http://www.gnu.org/licenses/license-list.html#ModifiedBSD
[6] http://www.gnu.org/philosophy/free-sw.html
[7] http://www.gnu.org/copyleft/
[8] http://en.wikipedia.org/wiki/Copyleft#Viral_licensing
[9] http://www.gnu.org/philosophy/misinterpreting-copyright.html
[10] http://en.wikipedia.org/wiki/BSD_licenses
[11] http://www.gnu.org/licenses/gpl.html
[12] http://www.gnu.org/philosophy/open-source-misses-the-point.html
[13] Technically, the GPL exercises restrictions only on distributors; a
     developer can integrate GPL'd code into their proprietary software so
     long as they do not distribute it (as defined in the GPL).[11] However,
     developers often have to cater to distributors, since software will
     generally be distributed; if it is not, then it is not relevant to this
     discussion.
[14] http://www.gnu.org/licenses/rms-why-gplv3.html
[15] http://www.fsf.org/blogs/community/antifeatures
[16] http://www.defectivebydesign.org/what_is_drm_digital_restrictions_management
[17] http://lwn.net/Articles/200422/
[18] http://en.wikipedia.org/wiki/Linux_kernel
[19] http://www.freebsdfoundation.org/press/2007Aug-newsletter.shtml
[20] http://www.gnu.org/philosophy/copyright-versus-community.html