News for hackers. Stuff that matters.
Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by perbu on Saturday May 16, 2020 @05:00AM (#23201728)
Unikernels are typically statically linked. Using copyleft code means the whole resulting binary is subject to copyleft.

Free software is great, but not everyone is in the position where they can release all of their code all the time.

For a unikernel to be viable it can't have copyleft code in it.

Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by lmm on Saturday May 16, 2020 @05:04AM (#23201754)
Depends what you're using it for. If you're just running it as a server then (non-A) GPL code is fine since you're not distributing the program.
Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by dathinab on Saturday May 16, 2020 @06:13AM (#23202173)
But what about the cloud and auto scaling wouldn't that count as distribution (through for internal use only)?
Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by CuriousSkeptic on Saturday May 16, 2020 @08:59AM (#23203023)
The GPL is all about giving rights to individual users of your program, not the world in general. It does so by turning copyright upside down, instead of restricting rights it grants rights (it’s like the opposite of those FBI warnings you get on DVD-discs) to those, and only those, who you give a copy of the program to.

But that is all. It works exactly like copyright in that regard. To be subject to it you need to have received a copy of program.

So no, running the program in the cloud is not distribution.

Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by rwmj on Saturday May 16, 2020 @06:16AM (#23202191)
It's an interesting point. I wonder if sending a binary to AWS counts as distribution to a third party?

(Of course I work for Red Hat and the cult thinks all code should be free :-)

Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by freedomben on Saturday May 16, 2020 @12:18PM (#23204717)
Yes all code should be free!

(I work for Red Hat also :-)

I was originally just being silly but figured I would add something of substance here. I think the GPL goes a little too far but I like the spirit of it. As a user if I pay for an application, I should get a copy of the code for personal use as well. I don't think that gives me the right to distribute it because it's still somebody's property, but applications should be distributed to customers with their source IMHO.

Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by nabla9 on Saturday May 16, 2020 @08:25AM (#23202840)
Internal use is not distributing.
Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by 08-15 on Saturday May 16, 2020 @04:29PM (#23206942)
> Using copyleft code means the whole resulting binary is subject to copyleft.

No. That's formally wrong, and it doesn't imply what you think it implies.

Using copyleft code means that if you distribute the resulting binary, you also have to distribute the corresponding source code. If you can't do that, you can't distribute the binary.

Is that a problem? No. You distribute object files and libraries, accompany the copylefted libraries with their source code, and let the end user link them together statically. Problem solved. Arguably, that's how all software installation on Unix should work; it solves so many other problems, too.

Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by vbezhenar on Saturday May 16, 2020 @06:57AM (#23202394)
You can write proprietary kernel drivers. Why can't you link user code with kernel? User code usually depends on POSIX interface and Linux is just one of the implementations.
Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by masklinn on Saturday May 16, 2020 @07:06AM (#23202441)
> You can write proprietary kernel drivers.

IIRC you can write proprietary kernel modules, which are loaded at runtime.

> Why can't you link user code with kernel? User code usually depends on POSIX interface and Linux is just one of the implementations.

Because the kernel is licensed under GPLv2. If you statically link to the kernel, then all interpretations of the GPL are that your work is a derivation and must be GPL'd (at least assuming it is "distributed").

Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by nabla9 on Saturday May 16, 2020 @08:33AM (#23202877)
Linux is licensed under GPL-2.0 WITH Linux-syscall-note.

>NOTE! This copyright does not cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does not fall under the heading of "derived work".

(even without actual syscall, you can consider unikernels as normal use of kernel)

Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by masklinn on Saturday May 16, 2020 @09:25AM (#23203186)
The original comment specifically put forward the following scenario:

> Unikernels are typically statically linked.

The note you're quoting is about regular software performing regular syscalls which is runtime dynamic linking to the kernel (so much so that multiple OS (e.g. SmartOS, Windows) implemented linux persona which allow running unmodified Linux software against a non-linux kernel).

It does not apply in a scenario where you would statically link to the kernel.

Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by nabla9 on Saturday May 16, 2020 @10:00AM (#23203429)
> It does not apply in a scenario where you would statically link to the kernel.

That's not the interpretation everyone else uses.

Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by masklinn on Thursday May 21, 2020 @03:18AM (#23255675)
That's completely irrelevant to this discussion.

It's a well-defined axiom of the original comment, and we're discussing logical consequences of that axiom. If you want to disagree with the original axiom then go and do so to the original comment.

Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by vbezhenar on Saturday May 16, 2020 @10:03AM (#23203443)
So if your "userspace" payload is dynamically linked and loaded at runtime, it's no longer a problem? I don't think that there is a big performance hit for dynamic loading. Probably something like LTO won't work.
Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by masklinn on Saturday May 16, 2020 @05:21PM (#23207317)
> So if your "userspace" payload is dynamically linked and loaded at runtime, it's no longer a problem?

Indeed but then you’re kinda missing the point of unikernels.

Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by vbezhenar on Sunday May 17, 2020 @02:00AM (#23209918)
I thought that main point of unikernels is to avoid cost of kernelspace-userspace switch.
Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by posix_me_less on Saturday May 16, 2020 @05:21AM (#23201864)
Well yes, if you want to distribute binaries to people and keep the source private (like in 90's), copyleft unikernels isn't the way to do that.

Unikernels are viable even if they don't allow you to do that, for many reasons - performance, workload isolation, ease of installation.

Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by nabla9 on Saturday May 16, 2020 @08:21AM (#23202807)
This is not categorically true.

Linux is licensed under GPL-2.0 WITH Linux-syscall-note.

>NOTE! This copyright does not cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does not fall under the heading of "derived work".

More generally can link LGPL code statically without making resulting binary subject to copyleft or releasing the source code. Increasing number of programmers don't know what object file is anymore (they didn't learn to program in C/C++) and this causes endless confusion.

https://www.gnu.org/licenses/gpl-faq.html#LGPLStaticVsDynami...

> For the purpose of complying with the LGPL (any extant version: v2, v2.1 or v3):

> (1) If you statically link against an LGPLed library, you must also provide your application in an object (not necessarily source) format, so that a user has the opportunity to modify the library and relink the application.

Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by masklinn on Saturday May 16, 2020 @09:28AM (#23203207)
> This is not categorically true.

GP provided a clear scenario in which their warning is categorically true.

> Linux is licensed under GPL-2.0 WITH Linux-syscall-note.

The note clarifies that syscalls are interpreted as a form of dynamic linking, which would be quite obvious in retrospect given you can run unmodified linux software on non-linux kernels (https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux).

> More generally can link LGPL

You do realise the LGPL and the GPL are different licenses with different requirements and constraints right? And the linux kernel is not licensed under the LGPL? And that what you quote specifically notes that even under the LGPL, static linking results in a derived work?

Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by nabla9 on Saturday May 16, 2020 @09:56AM (#23203404)
> And that what you quote specifically notes that even under the LGPL, static linking results in a derived work?

No. You can provide object files without source code and it does not become covered work. This is for example how using LGPL in Qt works.

[dead]
Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by masklinn on Saturday May 16, 2020 @07:08AM (#23202447)
> What prevent you from releasing code "all the time"?

That you don't have the rights to it, and / or that the code was written under a contract or grant which prevents its release.

Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by close04 on Saturday May 16, 2020 @06:57AM (#23202397)
> What prevent you from releasing code "all the time"?

Sometimes the same thing that prevents you from giving away all the results of your work for free. Can I have a copy of the code you're writing for your employer now? Surely everything you work on is made freely available to the public in its entirety. I hope you weren't just virtue signaling but doing the opposite in exchange for a salary.

Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by ncmncm on Saturday May 16, 2020 @05:36AM (#23201945)
Very often corporate wants to keep the application code private.
Re:Unikernels: The Next Stage of Linux’s Dominance (2019) by alias_neo on Saturday May 16, 2020 @06:30AM (#23202267)
Show me where Microsoft releases all of the source for Windows, or Apple, for Mac OS and iOS.

What's preventing them from releasing code "all the time"?