What's a good license for My Library?

D

David Mark

I've decided to release My Library under some sort of free license.
Haven't thought about free licenses in a long time (decades), so I am
open to ideas.

Anything to prevent the exponential growth of JS futility like this;-

http://github.com/jrburke/blade

I don't think that thing even warrants a review and there are dozens
more like it popping up. Enough is enough. :)
 
M

Matt Kruse

I've decided to release My Library under some sort of free license.
Haven't thought about free licenses in a long time (decades), so I am
open to ideas.

Dual-license under MIT and GPL (user can choose). That covers most
users that I've ever encountered.

Although I suspect you aren't "open" enough to like MIT ;)

Matt Kruse
 
D

David Mark

Dual-license under MIT and GPL (user can choose). That covers most
users that I've ever encountered.

Although I suspect you aren't "open" enough to like MIT ;)

The source will _never_ be open to "test-driven" patching by anyone
with a PC, that's for sure. :) But I'm not sure what that has to do
with the licensing.

I'll look into them. Thanks.
 
S

Scott Sauyet

I've decided to release My Library under some sort of free license.
Haven't thought about free licenses in a long time (decades), so I am
open to ideas.

Well, I guess it depends upon what you mean by free license.

What do you want to allow users to do with the code?

- View it? We all know that they will anyway.

- Steal^H^H^H^H^H Borrow heavily from it? Ditto.

- Modify it and release incompatible versions of it? Most FOSS
licenses allow this, and the major discriminator between them is
whether they require the modified versions to maintain the same
license.

- Do whatever the hell they want with it as long as they don't
bother or blame you? Most of the BSD or MIT style licenses are pretty
good for this.

Matt's suggestion is a good one if you really don't care too much
about how they use it as long as they don't try to blame you for
problems or credit you for their distortions of your code. MIT / GPL
covers the spectrum comfortably.

-- Scott
 
D

David Mark

Garrett said:
Why not use Dojo?

For what?
He's got some goals there. Didn't peek at the code.

The code is the usual gibberish.

As for the "goals":-

* Smallest possible namespace

Meaningless. Generalizations don't work as design goals.

* Use a standalone module loader, runjs

That thing is complete garbage.

* object.verb(…) or verb(object,…)

Whatever.

* Modules should define a function

Meaningless.

* Mobile is more important than Internet Explorer

Apples are more important than oranges? :)

* HTML5 support is standard

Except that he never figured out the current (or past) technologies. ;)

* Use advanced features where possible

:) See most of the above.

* JQuery API matching

Not a good goal to match an awkward and ill-advised API like jQuery's.
And yes, despite there being very little code at all at this point, a
large percentage of it involves the rookie mistake of "overloading."

* Focus on the code, not the tooling

LOL. Learn the language first, yes?

* Provide BSD licensed, CLA-safe code

CLA-safe?
 
D

David Mark

Well, I guess it depends upon what you mean by free license.

Meaning that commercial enterprises can use it to avoid having to swap
out piles of manure like jQuery every six months. It's always been
free for non-commercial use. ISTM that decision-makers at
corporations wouldn't care if a library is free or not (provided it
isn't outrageously priced), but they defer to Web monkeys on such
decisions (and those types are obsessed with getting everything for
free). So that would seem to be a barrier and I am taking it down.
What do you want to allow users to do with the code?

Whatever they want.
  - View it?  We all know that they will anyway.

They _have_ anyway. That's certainly no secret. ;)
  - Steal^H^H^H^H^H Borrow heavily from it?  Ditto.

Same. I've allowed it to go on as I have better things to do than
file lawsuits.
  - Modify it and release incompatible versions of it?  Most FOSS
licenses allow this, and the major discriminator between them is
whether they require the modified versions to maintain the same
license.

No, I don't want a hundred "forks" to start springing up.
  - Do whatever the hell they want with it as long as they don't
bother or blame you?  Most of the BSD or MIT style licenses are pretty
good for this.

Typically users of my code rely on me for support and/or other
consulting. The more the merrier. :)
Matt's suggestion is a good one if you really don't care too much
about how they use it as long as they don't try to blame you for
problems or credit you for their distortions of your code.  MIT / GPL
covers the spectrum comfortably.

I'm looking into it...
 
J

Jorge

I've decided to release My Library under some sort of free license.
Haven't thought about free licenses in a long time (decades), so I am
open to ideas.

"The Software shall be used for Good, not Evil" ?
 
D

David Mark

"The Software shall be used for Good, not Evil" ?

Well, as the "competitors" are virtually all "Evil" (i.e. full of
hacks, outdated ideas, bogus logic, misconceptions, etc.), using My
Library can only be considered "Good" by comparison.
 
M

Matt Sach

As for the "goals":-

* Mobile is more important than Internet Explorer

Apples are more important than oranges? :)

I think "lemon" would be a more appropriate citrus fruit to represent
IE ;)

I've been looking at My Library, due to your arguments against jQuery.
I've already been stripping jQuery out of code at home since starting
to read c.l.js, as the detailed arguments against it here have
clarified my own uneasy feelings about including such a huge pile for
(usually) simple tasks.

A more permissive license for My Library would help me try to wean
other webdevs at my office off their jQuery dependence. I've been
trying to push them myself, in order to get them thinking and learning
(not necessarily from my tutelage; I'm certainly nowhere near you and
others here), but it's very difficult to get folks to learn when they
have an "easy" way out that they already know. It's my own fault,
really; I encouraged them to use it in the first place because I could
see some of them waving dead chickens over their javascript to get
things working. I should have made them learn, rather than make it
"easier" for them :(

Matt
 
D

David Mark

I think "lemon" would be a more appropriate citrus fruit to represent
IE ;)

Touché. :)
I've been looking at My Library, due to your arguments against jQuery.

That's a good side effect.
I've already been stripping jQuery out of code at home since starting
to read c.l.js, as the detailed arguments against it here have
clarified my own uneasy feelings about including such a huge pile for
(usually) simple tasks.

Yes. And even if it were a pile of something _good_. ;)
A more permissive license for My Library would help me try to wean
other webdevs at my office off their jQuery dependence.

NP. It's coming. But try to let them know that they don't need a
_general_ pile of anything to do cross-browser scripting.
I've been
trying to push them myself, in order to get them thinking and learning
(not necessarily from my tutelage; I'm certainly nowhere near you and
others here), but it's very difficult to get folks to learn when they
have an "easy" way out that they already know.

All you have to do is demonstrate how it fails. :) As for help doing
that, it's coming (is it ever). For anyone who hasn't seen the signs,
cinsoft.net is going to be the new quirksmode.org (for libraries and
frameworks, rather than browsers). Oh, and with competent
explanations. :)
It's my own fault,
really; I encouraged them to use it in the first place because I could
see some of them waving dead chickens over their javascript to get
things working.

So you gave them a turkey? We all make mistakes. The learning curve
is steep in this business. Admitting the mistakes is the first step
to recovery.
I should have made them learn, rather than make it
"easier" for them :(

Sounds like you got it! :)
 
M

Matt Kruse

For anyone who hasn't seen the signs,
cinsoft.net is going to be the new quirksmode.org (for libraries and
frameworks, rather than browsers).  

ETA?

Matt Kruse
 
L

Lasse Reichstein Nielsen

Jorge said:
"The Software shall be used for Good, not Evil" ?

Bad idea. It lacks a definition of both "Good" and "Evil", making the
license ambiguous, and if it had one, it would probably run afoul of
the Open Source Definition (6. No Discrimination Against Fields of
Endeavor).

/L
 
J

Jeremy J Starcher

I've decided to release My Library under some sort of free license.
Haven't thought about free licenses in a long time (decades), so I am
open to ideas.

Anything to prevent the exponential growth of JS futility like this;-

http://github.com/jrburke/blade

I don't think that thing even warrants a review and there are dozens
more like it popping up. Enough is enough. :)

I'd have to agree with many of the others and figure that the MIT/BSD
license would be a good shot. MIT/BSD/LGPL only adds a few more letters
in from what I can tell.

I don't think I'd be too worried about forking, honestly. As I've
watched the various open source projects, major forks seem fairly rare
and only after other effects have failed.

I have no ideas of the legalities concerned, but if you change the My
Library name to something that can be trade marked, you can do the same
stunt that Firefox did. "You can copy our code exactly, but if you
change it you've got to call it something else." Hence Firefox and
IceWeasel.

That way, we'll have:
My Library
His Library
David's Library
The Cowardly Anon's Library
Not Your Library

and the like.
 
G

Garrett Smith

Sure, but having goals and writing them down has fundamental value. That
way everybody knows what it is. It is worse to not have goals than to
have bad goals. Bad goals can be changed.
All you have to do is demonstrate how it fails. :) As for help doing
that, it's coming (is it ever). For anyone who hasn't seen the signs,
cinsoft.net is going to be the new quirksmode.org (for libraries and
frameworks, rather than browsers). Oh, and with competent
explanations. :)

Sounds good.

You can try organizing and aggregating:

Juriy's tests:
http://github.com/kangax/jstests

Sputnik tests:
http://code.google.com/p/sputniktests/

Hixie's tests:
http://hixie.ch/tests/evil/mixed/


Those could all be improved by automation. Significantly

Please don't make me click through to every example and don't make
complicated test cases (like an functional/example page that has every
usage of the property/method).

For such a test suite, the relevance of specification is important.

Writing a testrunner will take time, but the investment will pay off
with managing complexity of testing variance across browsers.

YUI Test is not a bad one. You will need to patch it, though, and may
want to change many things about the design of it.

The asynchronous aspect of YUI Test is an important part that many other
test runners or unit test frameworks just totally ignore..

The asynchronous part of YUI Test could be redesigned so that it allows
pause between tests, and so that it uses a Timing abstraction (too much
setTimeout eats up CPU and crashes poor Blackberry). Also it would be
useful to have similar to Selenium `waitForCondition` (so the test can
complete before the allotted expiration time).

Also in YUI Test, it would be nice t ohave smaller methods. Not only
would this help make YUI Test more readable, but when debugging, the
developer should not have to step through a 300 line function just to
get to where YUI Test has dispatched and event. Oh, it is so painful my
fingers hurt just thinking about clicking debugger "step over" that many
times. Ouch.

YUI can be forked. Submitting but reports to YUI is a waste of time,
IME. Just patch and go.
 
D

David Mark

Sure, but having goals and writing them down has fundamental value. That
way everybody knows what it is. It is worse to not have goals than to
have bad goals.  Bad goals can be changed.

I know that guy. Goals or no goals, he's programming for failure
every time (and he's not alone in that regard). The justification for
his "guru-ness" is that he worked on the (stifling laughter) big
social networking sites. And (LOL) AOL. :D

Doesn't know the language. That thing had typeof xyz == 'array' - for
example - until I beat him over the head with it (sound familiar).
First he demanded "proof" that it didn't work in "all browsers" (hard
to phrase such "logic"). And I tried to tell him (and his friends)
that they don't need to keep starting every fucking project with
isArray, isFunction, isThis, isThat. Agh.
Sounds good.

Yes, I am sure it will be.
You can try organizing and aggregating:

Juriy's tests:http://github.com/kangax/jstests

Sputnik tests:http://code.google.com/p/sputniktests/

Hixie's tests:http://hixie.ch/tests/evil/mixed/

I think not.
Those could all be improved by automation. Significantly

Please don't make me click through to every example and don't make
complicated test cases (like an functional/example page that has every
usage of the property/method).

No clue what that means. :)
For such a test suite, the relevance of specification is important.

Or that.
Writing a testrunner will take time, but the investment will pay off
with managing complexity of testing variance across browsers.

I don't need to write one. I have what I need for now.
YUI Test is not a bad one. You will need to patch it, though, and may
want to change many things about the design of it.

I'd sooner shoot myself than use a single line of Yahoo-authored (or
Yahoo-supervised open source) JS. :)
The asynchronous aspect of YUI Test is an important part that many other
test runners or unit test frameworks just totally ignore..

I suppose. I remember cleaning up Dojo's and it had all sorts of
asynchronous stuff, "robots" and whatever. None of it was rocket
science. I do remember at least part of it used Java, which I will
not be using under any circumstances. ;)
The asynchronous part of YUI Test could be redesigned so that it allows
pause between tests, and so that it uses a Timing abstraction (too much
setTimeout eats up CPU and crashes poor Blackberry).

I'm going to concentrate on code reviews and some basic synchronous
test results for starters. In fact, the test results will likely be
static as the old versions of libraries never change. It will be more
of a last word resource than an automated test suite.
Also it would be
useful to have similar to Selenium `waitForCondition` (so the test can
complete before the allotted expiration time).

You are getting way ahead of me.
Also in YUI Test, it would be nice t ohave smaller methods. Not only
would this help make YUI Test more readable, but when debugging, the
developer should not have to step through a 300 line function just to
get to where YUI Test has dispatched and event. Oh, it is so painful my
fingers hurt just thinking about clicking debugger "step over" that many
times. Ouch.

Whatever YUI is doing with their stuff is irrelevant.
YUI can be forked. Submitting but reports to YUI is a waste of time,
IME. Just patch and go.

I don't patch and I'm not going there. :)

Thanks for the suggestions.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,904
Latest member
HealthyVisionsCBDPrice

Latest Threads

Top