We started ØMQ almost three years ago with the goal of building an open source low-latency fabric. At the time we chose a policy of centralized copyrights. We asked contributors to sign over their copyrights via a CLA. Later we switched to accepting contributions under the MIT/X11 license, which allows sublicensing.
Today, I want to change that policy. ØMQ is a great product for several reasons but to me, the work of volunteers is key. And today's policy is unfair to those contributing to ØMQ. Which means that over time, it's bad for ØMQ. We want ØMQ to become a standard part of every programmer's toolbox, a standard component on every connected box. That won't happen so long as the source code insists on being the property of one business.
We as a community are building an open ecosystem for scalable distributed services. We share the belief that such an ecosystem is worth orders of magnitude more than the sum of what any of us can make alone. We therefore work together, as peers, profiting from the new solutions that the ecosystem makes possible, rather than exploiting and ultimately draining the ecosystem itself.
So here's my plan. We like the LGPL and will stick to that. All source code will use the standard text:
ØMQ is free software; you can redistribute it and/or modify it under the terms of the Lesser GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
Which lets us upgrade to future versions of the LGPL when they emerge in 10 or 20 years' time. And the copyright statement on existing and derived source files will say:
Copyright (c) 2007-2010 iMatix Corporation and contributors
Which seems accurate and fair, while new source files may use whatever copyright statement is suitable. For contributors, things now become really simple: publish your new work under the LGPL, publish derived works under LGPL, publish patches under LGPL. It allows free remixability in directions under a single mutual contract, the LGPL.
By creating shared ownership of the full work, we also safeguard against any future relicense switch that could hurt our users. It's appropriate that a distributed decentralized technology with no single point of failure have a distributed, decentralized ownership with no single point of failure.
Finally, write access to the git repository. Unclear copyright provenance has been the main reason to keep this limited and to not expand the git repository to include satellite projects. But if all contributors own their work, anyone with credentials can become a committer and the git repository can grow.
We do need strict quality control on commits to the git repository. So I'd like to expand the current set of committers. You might be looking after some specific parts of the git, or helping with overall organization. The set of committers would be self-selected from known and trusted ØMQ contributors.
The committers will also have authority on releases, API changes, and the other contracts that bind us together as a community. There is no reason for iMatix to have a point of view on this except as one voice within a group of peers.
With these changes, which we'll introduce carefully once we've all discussed this, I hope that ØMQ will continue to grow healthily, and fairly to all of us who love this product and want to see it in widespread use.
Written: 03 Aug 2010 10:46
Revised: 03 Aug 2010 13:27
If you found this page useful, please rate it up so others will find it.
- Berlin Buzzwords 2010
- Building a GeoIP server with ZeroMQ
- Building ØMQ and pyzmq on Red Hat
- Few Blogposts on ØMQ
- Historical Highlights
- Installing ZeroMQ and Java bindings on Ubunu 10.10
- Internet Worldview in Messaging World
- Load Balancing In Java
- Loggly Switches to ØMQ
- Message Oriented Network Programming
- Mongrel2 Is "Self-Hosting"
- Multithreading Magic
- New - ØMQ Labs!
- Not To Be Confused
- ØMQ - The Game
- ØMQ And QuickFIX
- ØMQ available at CPAN
- ØMQ blog by Gerard Toonstra
- ØMQ for Clojure
- ØMQ/2.0.6 on OpenVMS
- ØMQ/2.0.7 (beta) released
- ØMQ/2.1.0 available on OpenVMS
- Python Multiprocessing With ØMQ
- Ruby Gem for ØMQ/2.0.7 available!
- September Meetups
- The Long and Winding Road Behind
- To Trie or not to Trie
- Video Introduction to ØMQ
- Welcome, Objective-C :-)
- Zero-copy and Multi-part Messages
- ZeroMQ an introduction
- ZeroMQ and Clojure, a brief introduction
- ZeroMQ: Modern & Fast Networking Stack
- ZeroMQ: What You Need to Know Braindump
Who's watching this page?Dominic Luciano
Fernando J Quintero