Google Groups unterstützt keine neuen Usenet-Beiträge oder ‑Abos mehr. Bisherige Inhalte sind weiterhin sichtbar.

Software transactional memory / atomic_ops copyright

5 Aufrufe
Direkt zur ersten ungelesenen Nachricht

Charles Reiss

ungelesen,
26.05.2006, 16:11:5426.05.06
an perl6-i...@perl.org, all...@perl.org
I'm the student doing the summer of code project to implement STM in
parrot. I've created a branch of parrot named 'stm' for this purpose.

So, to start off, a copyright question:

It would be nice to use libraries that provide relatively portable
atomic operation support (needed for good implementations of most
"lock-free" schemes), such as HP's atomic_ops [
http://www.hpl.hp.com/research/linux/atomic_ops/index.php4 ] which is
which is under a 'modified BSD'-like license (that is, one that
requires displaying copyright notices). Is this acceptable or not to
put in Parrot?

(If not, it's a relatively easy matter to provide fast implementations
of these operations by hand for those platforms to which I have access
-- but borrowing from a library should give a lot of extra
portability.)

-- Charles

Allison Randal

ungelesen,
30.05.2006, 15:00:2030.05.06
an Charles Reiss, perl6-i...@perl.org
Charles Reiss wrote:

> So, to start off, a copyright question:
>
> It would be nice to use libraries that provide relatively portable
> atomic operation support (needed for good implementations of most
> "lock-free" schemes), such as HP's atomic_ops [
> http://www.hpl.hp.com/research/linux/atomic_ops/index.php4 ] which is
> which is under a 'modified BSD'-like license (that is, one that
> requires displaying copyright notices). Is this acceptable or not to
> put in Parrot?

Including BSD licensed libraries in Parrot is fine. But, atomic_ops also
contains some GPL code ("test code, sample applications, and the
libatomic_ops_gpl portion of the library") which cannot be included in
Parrot. So, you can take portions of atomic_ops into Parrot.

> (If not, it's a relatively easy matter to provide fast implementations
> of these operations by hand for those platforms to which I have access
> -- but borrowing from a library should give a lot of extra
> portability.)

Ultimately, this is probably the better solution.

When we incorporate a third-party library into Parrot, it becomes our
responsibility to guarantee the portability of that library for all the
platforms Parrot supports. Better to link to an external library and
make it optional (like ICU), or to implement the tiny piece of
functionality we need from the library in Parrot (taking advantage of
Parrot's very portable design).

Allison

0 neue Nachrichten