Clojure in Clojure

883 views
Skip to first unread message

Aaron Cohen

unread,
Feb 10, 2012, 2:07:12 PM2/10/12
to cloju...@googlegroups.com
Hi all,

I've been working on implementing Clojure in Clojure for the past
week or so in my spare time, and have begun to see signs of progress.

At the moment, it's very basic, but I wanted to follow the "release
early, release often" strategy with this. In particular, I can already
tell that there is going to be a ton more work than I initially
thought, so if anyone else out there has been considering working on
this, I'd love to combine forces.

I also wanted to discuss early with core about any ways to make this
more palatable to them in terms of eventually becoming the "official"
clojure compiler. I want to identify now any steps that I can take
that will make that easier (or at least eventually possible).

I've been following the "copy clojurescript's analyzer and compiler
and modify appropriately" strategy that was mentioned on the wiki. I
really like that code structure, it's been a ton of fun so far!.


Anyway the repo is at: https://bitbucket.org/remleduff/cinc/overview

Currently, only "def", parts of invocation and parts of "fn" are
working, but it's fun to type (clojure.compiler/eval '(+ 1 2)) :)

--Aaron

Stuart Sierra

unread,
Feb 10, 2012, 2:28:57 PM2/10/12
to cloju...@googlegroups.com
Re palatable: you must be able to account for where every single line of code came from. To contribute the work to Clojure, every author/contributor must be reachable and willing to transfer ownership of the code to Clojure, i.e. Rich Hickey. Merely having signed the Clojure CA is not enough.

And by all means have fun, but don't expect much.

-S

Tim McCormack

unread,
Feb 10, 2012, 3:08:41 PM2/10/12
to Clojure Dev
On Feb 10, 2:28 pm, Stuart Sierra <the.stuart.sie...@gmail.com> wrote:
> Re palatable: you must be able to account for where every single line of
> code came from. To contribute the work to Clojure, every author/contributor
> must be reachable and willing to transfer ownership of the code to Clojure,
> i.e. Rich Hickey. Merely having signed the Clojure CA is not enough.

Can we get some kind of clarification on exactly what sort of
provenance info is legally required? E.g., is a single-committer git
branch of clojure.core sufficient, or does everything need to go
through patches attached to the relevant JIRA tickets? What about
multiple committers? (Assuming everyone has signed the CA and listed
their git repo username.) Is the SHA checksum of the branch point
sufficient for demonstrating origin of pre-branch code?

- Tim McCormack

Stuart Sierra

unread,
Feb 10, 2012, 3:23:43 PM2/10/12
to cloju...@googlegroups.com
The mechanism doesn't matter. You just need to be able to find / get in touch with everyone who has contributed code. If you're the only author, no problem.

These rules come directly from Rich Hickey and the Clojure CA. The point is not to prevent contribution, but to ensure that no corporate lawyer is ever going to say "My Fortune-500 company can't use Clojure because I'm not confident it's 100% legal."

-S

Sean Corfield

unread,
Feb 11, 2012, 1:37:41 AM2/11/12
to cloju...@googlegroups.com
On Fri, Feb 10, 2012 at 12:23 PM, Stuart Sierra
<the.stua...@gmail.com> wrote:
> These rules come directly from Rich Hickey and the Clojure CA. The point is
> not to prevent contribution, but to ensure that no corporate lawyer is ever
> going to say "My Fortune-500 company can't use Clojure because I'm not
> confident it's 100% legal."

And, yes, this is a real concern. When I worked at Adobe, I had the
"pleasure" of going thru an open source software licensing audit...
--
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/

"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)

Tassilo Horn

unread,
Feb 11, 2012, 4:56:05 AM2/11/12
to cloju...@googlegroups.com
Sean Corfield <seanco...@gmail.com> writes:

>> The point is not to prevent contribution, but to ensure that no
>> corporate lawyer is ever going to say "My Fortune-500 company can't
>> use Clojure because I'm not confident it's 100% legal."
>
> And, yes, this is a real concern. When I worked at Adobe, I had the
> "pleasure" of going thru an open source software licensing audit...

Adobe not using Clojure is rather harmless. The real cause for CAs is
that Adobe lawyers cannot say "Mr. Corfield was working for us when he
contributed X and Y to Clojure, and thereby he used our interlectual
property. So get those features X and Y out of Clojure".

Bye,
Tassilo

Paul Stadig

unread,
Feb 11, 2012, 7:37:47 AM2/11/12
to cloju...@googlegroups.com

It's actually probably more complicated than that. Apple could claim that Mr. Corfield used their IP to contribute to Clojure while he was working at Adobe. Or Microsoft could claim that the Adobe IP that was contributed by Mr. Corfield infringes on their patents.

A CA doesn't protect you from being sued, and as we all know Big Companies often bury small companies and individuals with spurious lawsuits knowing the cost and distraction will kill them. This is why people will settle lawsuits (even baseless ones) before going to trial.


Paul

Cosmin Stejerean

unread,
Feb 14, 2012, 12:43:26 AM2/14/12
to cloju...@googlegroups.com
If you are going down the Clojure in Clojure route you might also be
interested in my rewrite of the Clojure reader in Clojure. It should
fully support all of the forms supported by the default reader
(including tagged literals).

https://github.com/cosmin/clojure-reader


- Cosmin

> --
> You received this message because you are subscribed to the Google Groups "Clojure Dev" group.
> To post to this group, send email to cloju...@googlegroups.com.
> To unsubscribe from this group, send email to clojure-dev...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/clojure-dev?hl=en.
>

--
Cosmin Stejerean
http://offbytwo.com

Aaron Cohen

unread,
Feb 14, 2012, 9:38:17 AM2/14/12
to cloju...@googlegroups.com
On Tue, Feb 14, 2012 at 12:43 AM, Cosmin Stejerean <cos...@offbytwo.com> wrote:
> If you are going down the Clojure in Clojure route you might also be
> interested in my rewrite of the Clojure reader in Clojure. It should
> fully support all of the forms supported by the default reader
> (including tagged literals).
>
> https://github.com/cosmin/clojure-reader
>
>
> - Cosmin

That'll be great once I get to that point, Cosmin, thanks! I assume
you've read the discussion earlier in this thread. Are you ok if I
incorporate your code into my project and eventually assign the
copyright to Rich?

Cosmin Stejerean

unread,
Feb 14, 2012, 5:42:28 PM2/14/12
to cloju...@googlegroups.com
On Wed, Feb 15, 2012 at 1:38 AM, Aaron Cohen <aa...@assonance.org> wrote:
> Are you ok if I
> incorporate your code into my project and eventually assign the
> copyright to Rich?

Absolutely, I have no problems with that arrangement. Let me know if
there is anything else I can do to help.

Reply all
Reply to author
Forward
0 new messages