Dtrace port status
Doug Rabson
dfr at rabson.org
Fri Sep 21 00:47:53 PDT 2007
On Fri, 2007-09-21 at 07:03 +0000, John Birrell wrote:
> On Thu, Sep 20, 2007 at 11:42:40PM -0700, Darren Reed wrote:
> > John Birrell wrote:
> > >DTrace consists mainly of kernel modules, however in order for DTrace
> > >to inspect the kernel internals it has to have some code inside
> > >existing BSD licensed files.
> > >
> >
> > This should not be a problem.
> > Code added to BSD licensed files should be BSD licensed.
>
> Only if it is clean-room coded.
>
> In the case of DTrace, the only reference is the OpenSolaris
> CDDL code. It's hard to claim something as BSD licensed when
> all you are really doing is adding stuff like:
>
> (part of struct thread)
> uintptr_t td_dtrace_pc; /* DTrace saved pc from fasttrap. */
> uintptr_t td_dtrace_npc; /* DTrace next pc from fasttrap. */
> uintptr_t td_dtrace_scrpc;
> /* DTrace per-thread scratch location. */
> uintptr_t td_dtrace_astpc;
> /* DTrace return sequence location. */
> u_int64_t td_hrtime; /* Last time on cpu. */
>
> Sun still claims CDDL on snippets as simple as this (because the
> reference was CDDL'd).
>
> I had hoped they'd just say "that's OK to be BSD licensed".
>
> But, no, their attitude is that FreeBSD can just suck up Sun's
> patent clauses in the CDDL.
>
> I could just change the field names and re-arrange the words
> in the comments to make it look like I thought of it. But if that's
> OK by Sun's lawyers then they are just stupid. If they were to ask
> me in a court of law (in a proceeding like the ones SCO has
> been in), what would my answer be? Answer: I read the OpenSolaris
> code which is CDDL'd and I worked out what I had to add to FreeBSD
> and I added it. With vi. :-)
For something like this example, I would suggest putting those fields in
a separate structure declared in a CDDL licensed file and then embed
that structure in our thread. I'm guessing not all of your problems are
quite this tidy though.
More information about the freebsd-current
mailing list