License-wise, the Clojure implementation code is copyright by Rich Hickey, and 
distributed under the Eclipse Public License.  Thus your code would need to be 
distributable with a license compatible with this license, or perhaps could be 
completely closed source if your code was not distributed (e.g. it was only run 
on your own machines, e.g. your own web servers).  I'm not deeply familiar with 
such restrictions and the EPL -- consult someone more knowledgeable, preferably 
a lawyer if you are running a business based on this code, or planning to sell 
the code.

You could sidestep the EPL entirely if Rich Hickey was willing to license the 
code to you using a different license.  You'd want that in writing first.



Technical-wise, since you asked specifically about the STM implementation, 
Clojure's STM implementation relies upon most data being immutable, and on all 
of the mutable things being called out explicitly and known by the STM code 
(they are all refs, atoms, or agents in Clojure, refs being the most important 
for the STM implementation).  If your code contained mutable data all over the 
place, the Clojure STM couldn't provide you the guarantees you wanted from an 
STM.

Andy


On May 29, 2012, at 3:08 PM, Edward Yang wrote:

> Hello all,
> 
> We're interested in using some of Clojure's internal libraries (in 
> particular, it's STM implementation), in the runtime for another programming 
> language. We were wondering if anyone had attempted this before, and if there 
> are any things to keep in mind along the way.
> 
> Cheers,
> Edward
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to