
Oracle continue to circumvent EXPORT_SYMBOL_GPL() - fafner
http://mjg59.dreamwidth.org/31357.html
======
diakritikal
Oracle are their own worst problem right now.

My managing director dictated Libre Office over Open Office because it solves
his problems with OO.

My dev team are keen as mustard to replace the remaining MySQL instances with
MariaDB. Supporting an opaque platform that in turn is not likely to be
supported by the distro's we use is not an appealing proposition.

Oracle respin of Red Hat was never an appealing option. We're a SUSE crowd at
heart anyway.

From Oracles offerings (the ones they bought, we'll never use oracle DB) that
leaves Java as a language and tool set. Dev time is too costly, the language
is too clunky, the memory pressure is too high.

~~~
AndrewBissell
> ... that leaves Java as a language and tool set. Dev time is too costly, the
> language is too clunky, the memory pressure is too high.

Are there languages out there with lower memory pressure that cost _less_ in
dev time?

~~~
higherpurpose
Isn't Go's purpose to be a high-performance language that improves worker
productivity?

~~~
sliverstorm
Relative to what other languages, though? The competition gives important
context.

I can say, "Language X is designed to be fast". But that doesn't tell you what
it is good for.

What if I say "Language X is designed to be faster than Python"? Doesn't that
tell you way more about Language X?

------
adriancooney
Programming like that must be an absolute nightmare. Not only would have to
understand the convoluted API scheme, you'd have to research the origins to
see if you can _legally_ use it.

Things have gone too far when you start namespacing by license.

~~~
catern
Sure, but all you have to do to avoid this nightmare use the GPL. So since
this encourages people to contribute their code back to the community (by
releasing it under the GPL or a GPL-compatible license), I think it's a good
thing.

~~~
nly
Nice in theory, but many commercial shops will just use BSD instead. And
that's fine.

~~~
awda
They are welcome to license kernel contributions under dual BSD/GPL ;-).

------
fafner
SystemTap is a tracing framework for GNU/Linux without such license issues and
available on several distributions:
[https://sourceware.org/systemtap/](https://sourceware.org/systemtap/)

------
varkson
Can someone explain the point of having EXPORT_SYMBOL_GPL() and
EXPORT_SYMBOL()? Is it trying to protect the user from accidentally violating
the GPL?

More importantly, why is there no high resolution clock available from
EXPORT_SYMBOL()? Is it deliberately gimped, or is there issues with getting
such a piece of software into the kernel whilst not being GPL'd?

~~~
gergles
> Is it deliberately gimped

Yes. It's deliberately gimped because the author of the function decided
Freedom™ is more important than functionality and so they hid it behind a
license check.

Most new symbols exported after its introduction are exported with the GPL
check. See this for more info:
[http://lkml.iu.edu/hypermail/linux/kernel/0110.2/0369.html](http://lkml.iu.edu/hypermail/linux/kernel/0110.2/0369.html)

~~~
lawl
> _Yes. It 's deliberately gimped because the author of the function decided
> Freedom™ is more important than functionality and so they hid it behind a
> license check._

Would have been a good comment without that remark, and almost certainly why
you got downvoted. I gave you an upvote anyways, because the link is actually
relevant and helpful.

~~~
Dylan16807
I think that remark makes the comment better. It's ridiculous to claim that a
simple timer has relevance to creating a derivative work, and the implication
of zealotry in anyone making that claim via EXPORT_SYMBOL_GPL is appropriate.

~~~
pmjordan
The whole reason this is even an issue is the ambiguity of the license on the
subject of dynamic linking and what precisely constitutes a derived work. Of
course, if Linus wanted proprietary kernel extensions, he should have picked
LGPL, but the issue arose long after the license was originally picked (and
there being any possibility of changing/clarifying it). Also, no "or any
higher version" clause, so the only way this is ever going to be resolved one
way or another is in court. FWIW, my impression is GPLv3 wouldn't have helped
here either.

------
Karunamon
Very interesting article; I wasn't aware that the kernel had this level of
legalese/license shenaniganery built in.

~~~
userbinator
It's basically a form of DRM, and the first time I saw it I was pretty taken
aback too. Although this time, I'm actually on Oracle's side, since their
workaround is yet another example that shows how technological measures to
enforce copyright are an awfully bad idea.

Maybe when more people realise the distinctly unique aspects of digital data
and how, for lack of better words, pliable and copyable it is, we can have a
real copyright reform. Of course that requires the population understand this
type of thing, but a copyright reform is exactly what companies like Oracle
_don 't_ want, so the probability is pretty low...

------
CrispEditor
Note that DTrace/Linux exists outside of Oracle. (Search github for
dtrace4linux).

As that author of the product, I took a different approach to the GPL symbols
- one which may be questionable, but nobody has raised the issue as yet.

Yes, GPL symbols are problematic, and the dtrace4linux is CDDL - the GPL vs
CDDL - means its impossible, from a legal perspective to get the balance
right. That does not preclude generation of a useful tool - the beauty of all
open source - is the ability to learn from it.

------
zobzu
making stuff open source seems much easier than battling for inserting
proprietary code. hint hint.

~~~
protomyth
DTrace is open source and found in OS X and FreeBSD. DTrace is not proprietary
code.

~~~
justincormack
And there are no barriers to it being licensed so that it could be included in
Linux, other than Oracle not wanting to.

~~~
micampe
Just like there are no barriers to changing the GPL so it is compatible with
the CDDL, other than the FSF not wanting to?

~~~
alec
The person who wrote the CDDL says it was deliberately written to be
incompatible with the GPL.

[http://en.wikipedia.org/wiki/Common_Development_and_Distribu...](http://en.wikipedia.org/wiki/Common_Development_and_Distribution_License#GPL_incompatibility)

~~~
mzs
And the next person in that cite is disagreeing with that.

------
th3iedkid
i still remember the day in a meeting when someone spoke of my employer having
acquired some lic for a product which they designed to modify and i asked if
we have a legal team to analyze it , well the director came back shouting
another team should take the job!

------
dredmorbius
Seems to me that the appropriate attack might be fraud and misrepresentation,
if not copyright abuse. That's an attack which could be levied on Oracle by
any party (oh, say, someone who's already upset at them for some reason,
perhaps Google), not just a kernel copyright holder or The Linux Foundation.

~~~
dredmorbius
I'm curious about the apparent disagreement here.

The misrepresentation is of the module as being validly licensed under the GNU
GPL where it clearly isn't. In an earlier case concerning copyright, the
question rose whether or not a brief citation for functional reasons was valid
or an infringement of copyright. The court's decision was that a literal
quoting that served _functional_ purpose was not, in fact, a violation of
copyright.

[https://en.wikipedia.org/wiki/Sega_v._Accolade](https://en.wikipedia.org/wiki/Sega_v._Accolade)

The case with regards Oracle involves the use of one of two largely equivalent
mechanisms. As the article discusses:

 _The kernel actually has two levels of exposed (non-userspace) API - those
exported via EXPORT_SYMBOL() and those exported via EXPORT_SYMBOL_GPL().
Symbols exported via EXPORT_SYMBOL_GPL() may only be used by modules that
claim to be GPLed, with the kernel refusing to load them otherwise. There is
no technical limitation on the use of symbols exported via EXPORT_SYMBOL()._

Use of EXPORT_SYMBOL and EXPORT_SYMBOL_GPL are equivalent _except_ for the
expressed compatibility with the GPL license. Use of EXPORT_SYMBOL_GPL where
it's not justified is making a claim about suitability of use. That is the
basis for my fraud claim.

------
fiatmoney
I wonder if, with the right septuagenarian judge, this constitutes
unauthorized access to a protected computer system?

------
userbinator
_with the kernel refusing to load them otherwise_

This makes me wonder how easy it would be to write a (GPL'd) kernel module
whose only purpose is to scan for and NOP out these silly checks!

Props to Oracle for taking the "fuck you" approach with this. And a "fuck you"
to Oracle for everything else they've done...

