Re: [patch 026/158] mm: emit tracepoint when RSS changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Dec 03, 2019 at 10:58:42AM -0500, Steven Rostedt wrote:
> On Tue, 3 Dec 2019 10:44:36 +0000
> Primiano Tucci <primiano@xxxxxxxxxx> wrote:
> 
> > Furthermore, from a pure technical viewpoint, dynamic linking is a major pain
> > for many cross-platform projects because has different subtleties on each
> > platform. Most projects just ship big statically linked monoliths.
> > Having a LGPL dependency in Perfetto means telling them "if you want to use
> > this tracing project you need to change your build rules / packaging strategy
> > and start dealing with dynamic linking on four different platforms
> > (Linux, Android, Mac, Windows)". This would be a show-stopper for our
> > project.
> >
> 
> LGPL does not impose restrictions on having to be dynamically linked.
> You can legally statically link a LGPL project as well. There's no
> problem with that. You can do that with glibc too.

I did know static link is Ok, thanks for clarifying that.

> 
> The one reason I can see that Google wouldn't want to include it, is
> that you would also be required to maintain the library that you use.
> That is, if someone wants the source code of the library you are using,
> you must be able to provide it for them. That's the requirement that
> LGPL imposes.
> 
> Now it is true that if someone wants to modify the LGPL library, enough
> must be distributed to allow the user to do that. But as your code is
> Apache, I'm guessing you can give people enough code to still do that.
> 
> From: https://copyleft.org/guide/comprehensive-gpl-guidech11.html#x14-10100010.1
> 
> "There are, however, subtle differences and additions. For example not
>  only is CCS required (as would be with normal versions of GPL), but
>  also the CCS provided must enable a developer to regenerate the
>  modified version of the entire combined work, using with a modified
>  version of the LGPL’d work (as a replacement for the version a
>  distributor provided). For example, LGPL’d code is statically linked to
>  a non-copyleft executable, the required source code must also include
>  sufficient material to split the distributed executable and relink with
>  a modified version of the library."
> 
> Thus, you are right that code licensed under LGPL is a "handle with
> care". But there's a lot of code under LGPL, I'm surprised that there's
> not better mechanisms to handle it.

Actually, this is not the concern here. CCS should not be an issue for
Perfetto since (AIUI) it is fully open source. Or, am I missing your point?
For fully open source projects, I don't think Google should have a problem
with statically linking to LGPL.

The only issue that can arise is if an Apache 2.0 project like Perfetto uses
libtraceevent, but instead of statically linking to libtraceevent, it
actually derives from libtraceevent. I think only this case it will be
problematic, right? All other cases should be fine.

thanks,

 - Joel

> One solution I'm looking at is creating flex/bison templates to do the
> parsing. If we do this, those could be licensed under a different
> license that would make it easier for others to include this code.
> 
> -- Steve





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux