Category Archives: Free Software

Yet another Open Source Organization?

Google just made some news – and controversy – with their ‘independent’ corporation The Open Usage Commons Foundation. Possibly some kind of 501(c) non-profit organization, we don’t know yet.

It has been instantiated for the sole purpose of trademark management (and enforcement?) for Open Source projects, who are said to be not well positioned to care by themselves. For a start Google assimilated their own projects: Angular, Istio, and GerritCode Review. Own Projects? Oh well, at least for Istio – that was co-developed with IBM – they now clarified who has ownership of its trademark.

In their introduction statement they claim: “[…] Accordingly, a trademark, while managed separately from the code, actually helps project owners ensure their work is used in ways that follow the Open Source Definition by being a clear signal to users that, “This is open source.” […]”

Josh Simmons, the president of the Open Source Initiative (OSI) maintaining the referenced definition has a diplomatic statement to that, which also serves well as a summary: “Of course, OSI is always glad when folks explicitly work to maintain compatibility with the Open Source Definition. What that means here is something we’re still figuring out, so OSI is taking a wait-and-see approach.[1]

Or is this yet another project for the Google Cemetery because the Open Source community is not that into trademarks as cooperations are?

There are more detailed summaries and discussions:

GPL compliance and the persistent cancer theory

In the golden age of Open Source compliance offerings, one of the key marketing argument still appears to be: “The General Public License (GPL) is sooo risky. In case of GPL infringement, you will have to release all of your code – speak your intellectual property (IP) – under the same terms. Take our license scanner as we are the best to protect you against such nightmares.”

That statement simply is not correct. But very effective if you want to sell your services. Which company wants to be forced to release its valuable IP into the public only by not following specific license terms?

This myth was supposedly framed by Steve Balmer of Microsoft who once said back in 2001: “The way the license is written, if you use any open-source software, you have to make the rest of your software open source. […] Linux is a cancer that attaches itself in an intellectual property sense to everything it touches. That’s the way that the license works.”

His general understanding of one of the basic principles of Free Software and the GPL – reciprocity – speaks of great intellectual power. However this muddle-headed theory in total is utterly wrong but still persistent today serving as one of the main arguments to sell license compliance offerings.

Even infringing the terms of the GPL will never force you to put your own source code under the same license. Simple as that.

Sure, in the worst case you have violated a software license. In this aspect there is no difference between the GPL or any other even proprietary license. Copyright infringement claims are caused by

  • the actual violation of the license and
  • the unlicensed use of software.

You have to cope with its consequences. Legal remedies are

  • punitive damages and
  • injunction to not distribute your product any further.

Not more, not less.

The most straight forward way out of this would naturally be to release your source code also under the terms of the GPL. Thereby making it public. This is what is understood as reciprocity – others can also benefit from your work, as you did from the original work. It is the recommended choice of the Free Software community.

But in case you want to protect your IP by keeping your own code secret, you are still left with various other options:

  • Remove it. Double check if the GPL-licensed component is really needed by your product. In case not, just remove it.
  • Refactor it. Either re-write the functionality provided by the component from scratch or replace it by another one that comes with a more permissive license.
  • Relicense it. Ask the original author(s) if they are open to re-license it. Either under a more permissive license or a commercial license for proprietary use.

The best wrap-up I have read is given by Heather J. Meeker in her book “Open (Source) for Business: A Practical Guide to Open Source Software Licensing”. A must read not only regarding this issue.

To conclude – whenever you hear such statement, be alarmed and listen more carefully to assure that the talking alleged expert really offers the necessary expertise to help you with license compliance.

Update 2020/07/11: For the sake of completeness, it should be mentioned that the GPL also has a paragraph about its automatic termination in case its obligations are not fulfilled:

  • GPLv2 (4.): […] You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. […]
  • GPLv3 (8.): Has the same wording and even defines a kind of cure period to conform in case of violation.

“All Creatures Welcome”

Wenn man von einem Chaos Communication Congress zurückkehrt, wird man oft interessiert gefragt: Und, wie war es? Erzähl mal, um was geht es da eigentlich?

Übervoll mit Eindrücken und übermüdet trotz regelmäßigen Mate-Konsums fällt es schwer, auf Anhieb passende Worte für einen allgemein verständlichen Abriss zu finden.

Wenn auf diese Art keine Zusammenfassung möglich ist, würde man als nächstes eigentlich zum mobilen Endgeräte greifen, um zumindest die bildlichen Impressionen für sich sprechen zu lassen. Doch halt, dort wird der Grundsatz noch ernst genommen, nur Photos anzufertigen, wenn alle auf dem Bild abgebildeten Personen damit einverstanden sind. Dementsprechend leer ist die eigene Bildergalerie.

“All Creatures Welcome” von Sandra Trostel (CC-BY-NC-SA)

Seit diesem Jahr gibt es Abhilfe in Form einer 86-minütigen Dokumentation: “All Creatures Welcome” von Sandra Trostel. Sie feierte (vermutlich) beim DOK Leipzig 2018 Premiere und wurde nun offiziell – zum 35. Chaos Communication Congress (35C3) – vorgestellt und steht online unter einer CC-BY-NC-SA-Lizenz zur Verfügung. In Zukunft soll auch Rohmaterial von den begleiteten Veranstaltungen – dem 32. Chaos Communication Congress und Chaos Communication Camp 2015 – zum freien Remixen zur Verfügung gestellt werden.

Also nicht fragen. Anschauen!

Homepage: http://www.allcreatureswelcome.net/
Film (in voller Länge): media.ccc.de | vimeo.com
Soundtrack: https://fairybotorchestra.bandcamp.com/releases

HowTo: Bulk exporting all of your image collections from Lightroom to a folder-based structure

Do you plan to switch from Adobe Lightroom to a different image management and raw editor, like its free alternatives darktable or RawTherapee? One of the main challenges is to preserve your carefully created collections’ structure whilst migrating. Ideally via the file system represented by a hierarchical folder structure to be independent from whatever software you choose.

As I am currently abandoning Lightroom, I have written a Bash-script to accomplish this task:

https://github.com/apfelkraut/ExportLRCatalog

For details please refer to the README.

HowTo: Thunderbird Maintenance

Over time Mozilla’s Thunderbird may happen to require some maintenance in order to continue running smoothly. Symptoms could be that either you cannot find mails that are supposed to be there, mails are doubling without any reason, or deleted mails show up again in its original folder.

Note that Thunderbird must be closed (and really not running) for the next steps to be successful. You then need to navigate to your profile folder and execute the given commands at the root of this directory.

Continue reading HowTo: Thunderbird Maintenance

Öffentliche Gelder nur für offenen Code

Warum es eigentlich essentiell wäre, den Quellcode jeder Software, die im Interesse der Allgemeinheit beschafft und betrieben wird, öffentlich zu machen, hat zuletzt der Chaos Computer Club vorgeführt und beängstigende Details zu fehlerhafter Wahlsoftware ans Licht der Öffentlichkeit gebracht. Stichwort “PC-Wahl”, siehe “Software zur Auswertung der Bundestagswahl unsicher und angreifbar” und “Open-Source-Spende: CCC schließt größte Schwachstelle in PC-Wahl”.

Nahezu zeitgleich hat die Free Software Foundation Europe eine Kampagne gestartet, in der in einem offenen Brief “Public Money, Public Code” die Abgeordneten aufgefordert werden, genau dafür eine rechtliche Grundlage zu schaffen. Konkret, dass mit öffentlichen Geldern für öffentliche Verwaltungen entwickelte Software unter einer Freie-Software- und Open-Source Lizenz veröffentlicht werden muss.

Nachdem auf diesem Blog bereits viel über Freie Software geschrieben wurden, lassen wir stattdessen das offizielle Video der Kampagne sprechen. Anschauen und falls überzeugt, den offenen Brief unterschreiben.

https://vimeo.com/232524527

Public Money? Public Code! from Free Software Foundation Europe on Vimeo.

HowTo: Drush … finally

I really do not know why I did not check out Drush earlier. It is a command-line interface to comfortably maintain your Drupal-based website. Labeled by its creators as “veritable Swiss Army knife” it can virtually do any administrative tasks that you can think of. And this within a fraction of the time that you would usually spend to execute each single step via the original user interface of Drupal.

As prerequisite you should have a well setup Drupal installation. If not for example updating Drupal’s core might not work out well and even screw up your site. After installing Drush you can easily verify this by running the command drush core-requirements.

The current stable release of Drush is 8.1.12 and requires PHP 5.4.5 or later. It supports Drupal 6.X, 7.X, and 8.X.

The installation is straight forward and explained well in the official documentation.

The most annoying task for myself was always having to manually update Drupal core, especially when there are urgent security updates.

With Drush it is as easy as that (original description):

drush vset --exact maintenance_mode 1 && drush cache-clear all && drush pm-update && drush vset --exact maintenance_mode 0 && drush cache-clear all