Google 網路論壇不再支援新的 Usenet 貼文或訂閱項目,但過往內容仍可供查看。

Software transactional memory / atomic_ops copyright

瀏覽次數:5 次
跳到第一則未讀訊息

Charles Reiss

未讀,
2006年5月26日 下午4:11:542006/5/26
收件者: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

未讀,
2006年5月30日 下午3:00:202006/5/30
收件者: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 則新訊息