path: root/blog/2017/dont-piss-in-my-beer.rst
diff options
Diffstat (limited to 'blog/2017/dont-piss-in-my-beer.rst')
1 files changed, 59 insertions, 0 deletions
diff --git a/blog/2017/dont-piss-in-my-beer.rst b/blog/2017/dont-piss-in-my-beer.rst
new file mode 100644
index 0000000..c98a541
--- /dev/null
+++ b/blog/2017/dont-piss-in-my-beer.rst
@@ -0,0 +1,59 @@
1.. date: 2017/04/27 22:12
2.. title: Don't piss in my beer
4`Twelve years ago <>`_ I started a little project called `ezjail </arts/software/ezjail/>`_, an opinionated tool that helps `FreeBSD <>`_ admins to make compartmentalization a lot easier. Long before real virtualisation was a real thing for the rest of us, it helped me scratch my itches maintaining virtual servers I could give out to my more or less technically savvy friends without too much headaches regarding the safety of my files. Of course, this project has been released under `my favorite licence <>`_.
6Keep in mind, that this licence actually doesn't ask for much. Basically it only says not to steal it and run around claiming it's yours. Now, you'll *never* guess, `what happened <>`_ in 2013. ;)
8That's right: After apparently not reacting quickly enough to some man page rewrites submitted to me by an author from the philippines, I seem to have made an enemy for life! I've encountered an interesting version of a hostile fork named qjail: my project was copied, the fork renamed and most (`but not all <>`_) of the references to the ezjail project name replaced by the fork's name.
10When I reported my astonishment to the adults running the FreeBSD project, they quickly `took action <>`_ and blocked the port until qjail acknowledged me being the author. `Others noticed as well <>`_ and decided to move away from the copy cat.
12The open source philosophy and some licence law details must have been lost on the guy, as becomes obvious by some later quite funny follow-ups. To quote from `emails later in that thread <>`_ (you have to start reading from the bottom).
14 One does not have to be a lawyer to know the lack of any license
15 verbiage embedded in computer programs released to the public becomes
16 property of public domain forever. Putting license verbiage on your next
17 port version is unenforceable because it's already property of public
18 domain.
20And even more hilarious
22 This outburst only confirms my suspicion that your suffering from dementia
23 caused by advancing age. I tried to give you a way to save face as I purposed
24 in my private email to you.
26 I understand what you are going through and forgive you for your actions. I
27 pray you are under medical care for this condition. There are drugs which reduce
28 these effects and prolong the periods of normalness.
30While I usually try not to stand in the way of others doing stuff, I found the process annoying enough to act. In turn, ezjail became a constant `target of FUD and suggestions to switch <>`_ in all `kinds of forums <>`_ I never had the time to check and correct.
32What made things worse is that the guy `just started <>`_ learning `the very language <>`_ ezjail was written in. Considering jails being a security mechanism, that's a very bold move.
34In the end, the differences in qjail became so distinct that he could not rip off later developments like the whole zfs sub system, `contributed by a friend of mine <>`_.
36Time went by and `things changed in the FreeBSD world <>`_ that were a little unfortunate to my project: FreeBSD jails were reorganized and the official jail management tool moved from reading a simple config language to a structured one (making it impossible to edit and parse in the rather simple scripting language sh). A legacy wrapper was added which showed a depreciation message every time ezjail would start a virtual system:
38 WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider to migrate to /etc/jail.conf
40Of course, this only was grist to the FUD mill, claiming ezjail was outdated. For technical reasons, while it is easy to get rid of this warning (qjail did), but unfortunately not `when doing it properly <>`_. (Tl;dr: you can reproduce the original functionality of the wrapper, but you're doomed to chase changes in the system's implementation forever. Also you keep several, possibly diverging states of your config files without a way to parse the ones that the OS considers official.)
42If you zoom out `on the thread I just linked to <>`_, you'll notice that the very guy who stole my code now lobbies to have the wrapper code removed, which would essentially break ezjail.
44And to make things even more absurd: when called out on his proposal, he `approached me <>`_ with a "fix" to the carnage he tries to bring upon me. You'll *never* guess if he wrote the code he asks me to copy into my project himself. ;)
46In summary: I can't really lurk around in all the forums and honestly I don't have the time for fighting an unsuspected arch enemy. But if you want to understand how frustrating open source development can become, once you're up against someone with more time than ability, feel free to join me over a beer!
51As an impressive turd seasoning, I just found that qjail's current licence header reads:
53 As per the international "Berne Convention" this work is
54 protected and all rights reserved.
56 Before qjail may be forked, written permission must be
57 obtained from the author.
59No worries mate. Not gonna fork it. Promise!