Comments on: Defining the REBOL source license
REBOL Technologies

Comments on: Defining the REBOL source license

Carl Sassenrath, CTO
REBOL Technologies
4-Oct-2012 6:39 GMT

Article #0512
Main page || Index || Prior Article [0511] || Next Article [0513] || 194 Comments || Send feedback

There's been some concern and discussion over what source license to use for R3. I proposed GPL v2, but maybe that's not the best choice?

Let me explain what I want and let's figure out what will fit or how to shape a license that meets my requirements.

Think of the source license in terms of being a fair trade:

  1. You're going to receive a powerful software system, the results of many years of labor and expense. It won't cost you anything (it is gratis), and you can use, distribute, and embed it however you want (it is libre) -- even for commercial uses.
  2. In return, when you make improvements to that system, you agree to send them back, and if I decide to include them in future distributions, they can be used gratis and libre, not only by me, but by everyone else.
  3. Of course, if you write applications in R3, those do not need to be sent back. You can keep those private, make them commercial, or whatever. You keep all the rights to your application.
  4. Also, if you make extensions (independent modules) to the system, you are not required to send them back. You can keep those private if you want. (Details below.)

So, this is the exchange: You get something; I get something; the whole community gets something. And, if any of us wants to make and sell commercial products, we can do so without any serious hindrance.

Definition of "improvements":

By improvements, I mean enhancements, optimizations, fixes, and porting (to other systems) of the R3 native kernel system - the source work that is licensed to you. For example, if you figure out a way to double the execution speed of the interpreter, you would be obligated to send that back. If you make improvements and do not send them back, then the license is revoked, and you retain no rights to use or distribute R3.

Definition of "applications":

Code that you develop that exists outside of the R3 native kernel system is excluded from the license. That is, I have no fair trade claim to scripts, functions, applications, or services you create that use R3. (Even if "encap'd" into the same binary file.) For example, you write a popular social media system, it's yours. You can keep it private, make it commercial, and do whatever you want with it.

Definition of "extensions":

Also excluded are modular extensions to R3. For example, if you add a streaming video player module, it is not required that you send it back. Although, I very much hope you would! However, if in order to make that module work you change how event handling works or add a video! datatype to the native system, then you would be required to send those back. Not the player module, just the kernel related improvements.

Other notes...

  1. There's also the usual liability disclaimer.
  2. You cannot alter this license.
  3. Source file headers specify the license and must remain unaltered.
  4. You cannot claim to be an author, creator, owner, copyright holder of REBOL.
  5. Also, although I've used the word "trade" above, nothing is traded, it's actually contributed. If some countries require monetary value be placed on it, then it shall be US$1.00 in total for all worldwide usage and rights. (Tell me if this works or not in your country.)
  6. What else did I miss?

So, there you go. That's the basic idea. I hope there's a popular existing license for this model. What do you think?



5-Oct-2012 1:29:18

Well, if there isn't I think you've just defined it.



5-Oct-2012 1:46:04

At the risk of sounding banal in my initial post, let me clear up my sentiments on this:

If there is a requirement to use a current licensing system in order to piggyback on the weight of lawyers already familiar with them, well, that's fine.

If you want to establish something different, and keep it simple I always favoured Borland's approach in 'Treat it like a book'.

Your detail in this post (pending refinements) I believe is in the spirit of that approach.



5-Oct-2012 1:48:06
Hi Carl,

I like this.

Regards, Marco.

5-Oct-2012 1:53:07
Finally! Great explanation. What I would do is to ctrl c, ctrl v your blog post, and your licence is done :-) Well, others will probably suggest, what known licences or combination of some, fits best. Maybe a GPL plus some exception (Classpath), who knows ...
5-Oct-2012 1:54:56
more than fair, let's go for it...
5-Oct-2012 2:06:27
"If you make improvements and do not send them back, then the license is revoked, and you retain no rights to use or distribute R3."

"You retain no rights" = the whole community or the violator only?

5-Oct-2012 2:13:06
Perhaps a good approach could be:

  • LGPL2 for the C code
  • MIT for all the mezz code (I don't think the problems that people make about the GPL and scripts are real from a legal standpoint, especially given your statement of intent above, but this would clear them completely)

If you are worried about people making big changes to the mezz code and not sharing them (I find this very unlikely... actually, you could release everything as MIT and it would still work out in practice), then make that LGPL2 as well and state it clearly (like you did in this article) that you only care about people sending back the changes to those files, and don't care about any of their files.

5-Oct-2012 2:26:26
Hello Carl,

Well that was certainly worth the waiting time. On a first glance this looks very reasonable, and in the intention off most of the posters in previous replies to blogposts.

There will certainly remain some rough edges to shave off. Can we claim to be contributors to REBOL?

Congratulations on this big decision.

SM Smithfield
5-Oct-2012 2:29:38
Great statement of intent. But for scoundrels, we'd be done. So there's still the question of the precise legalistic phrases that conform to the intent. Carl seems to like GPL2. If that turns out in the future to thwart the initial intent, it can simply be changed, right? (this is not rhetorical) Sounds like just go w/ GPL2 and trust Carl to his intent. Sounds good to me.
5-Oct-2012 2:33:38
(at)Gabriele, this sounds attractive but a lot of the functionality that is necessary such as protocols etc would be thus potentially lost. So, someone could contribute a SSL implementation with bugs. Another person could fix those but are not obliged to supply those fixes.

I would prefer a class path exception as Pekr mentions above with the wording to suit Rebol.

The GNU Classpath library uses the following license:

Classpath is distributed under the terms of the {Choose your license} with the following clarification and special exception.

Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.

As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obliged to do so. If you do not wish to do so, delete this exception statement from your version.

Robert M. Münch
5-Oct-2012 3:04:29
"Think of the source license in terms of being a fair trade." - That's the core what you intend. Now, there are two ways to achieve it.

1. Try to regulate this as much as possible. Write a license, define the scope, clearify it over time etc. As you started in your posting.

2. Create a setup that make the "fair trade" spirit everyones own interest where people will follow it voluntary.

IMO the 1st is doomed. To complicated to be really sure you hit it. How to control it? What to do, if someone violates it? Are you going to sue them? If you have a license, that's there and now one cares if it's violated, than having no license is as good.

So, they way to go is option 2. And IMO, Rebol has the best situation to make it happen. The self-regulating thing here is the community. We know each other, no one has the ressources to fork R3 to create an own technology stack and maintain it, everyone needs the others here. Especially if you want to use R3 as a foundationo for a business.

I see it the other way: When we (Saphirion) improve R3, I would be a total idiot not to return it. Because R3 gets better, others begin to use it. And now two things, I have an interest in are starting.

1. There are more people knowledgeable in Rebol. Which is a good thing.

2. Others start investing in improving R3 too because they see: Ok, I don't have to do it all on my own. I care about this stuff, others do the rest. I have a good base to rely on.

If someone forks R3 and never gives something back, they have to maintain their own technology stack with a high investment for ever on their own. Makes no sense at all.

If you fear that someone make a billion $ with his own (non-public) R3, be assured they are going to hire everyone from this community anyway and will finally understand that opening the interpreter makes sense anyway.

In summary: Keep it simple, those that are willing to use R3 and invest into it, will return the stuff anyway. Everything else doesn't make sense.

Those that don't do it, won't be successful anyway, hence we can igonore what they do.

5-Oct-2012 3:20:17
Carl, there seems to be a broad agreement that such terms are the best for REBOL. I even dared to guess that would be your intent. Thus, for me the best would be (eventually after consulting the text with a lawyer) to publish your license text.
5-Oct-2012 4:01:01
I'm shocked that (1) almost no one is suggesting a concrete existing license (like Carl asked for), and (2) only one person has suggested the LGPL (and the ancient v2 one at that).

The Lesser GPL (v3) aka LGPL would seem ideal for Carl's goals:

Unlike the normal GPL it allows someone else to "embed it however you want" (like Carl wanted), so long as you don't modify the original source code. Caveat: I am not a lawyer!

Giuseppe Chillemi
5-Oct-2012 4:10:18
Robert, there are a lot of unfair companies out there. We need a licence to force them to be Fair. I don't believe in voluntary Peace but in "armed peace". If they have a gun pointed in their head companies will obey to the rules.

Giuseppe Chillemi
5-Oct-2012 4:15:05
Also, REBOL is really a different language so we need to modify a licence to obtain what Carl Want.

I propose GPL2 + ClassPath and later modify a licence to meet the Carl's needs.

Why ?

For 3-6 months there will be mainly R3 bug fixes. In the meantime an existing licence could be modified.

5-Oct-2012 5:22:29
Carl is proving great intentions here. The best thing done for the community and industry at large. Thank you.
5-Oct-2012 5:58:43
Thanks a lot for taking the time to write up those clarifications, Carl!

I strongly believe that the most successful approach to achieve what you want for REBOL is to maintain a spirit of openness and sharing, and not to try and nail down that spirit in legalese. Therefore I still strongly suggest to release the whole of R3 licensed permissively under the MIT license. Accompany the release with a "Note from the Original Author" that contains your wishes from above to further establish the spirit, but do not make it legally binding. This will certainly let the highest number of beautiful flowers bloom.

Basically, there's the a question left unanswered so far: Carl, what's more important to you? REBOL reaching the widest audience possible or compromise (and probably significantly so) on the outreach to try and enforce a "tit for tat" sharing ideology.

If you think the widest possible reach is most important, choose MIT; if you want to enforce giving back (and potentially compromise on the reach), I'm with Gabriele: LGPLv2 for the C code and MIT for the REBOL code.

5-Oct-2012 6:09:49
Carl, your intentions, outside of one point, are clearly spelled out and my only concern if you were to try to use an existing license or an existing one with a set of exceptions would be to choose one that doesn't cause concern for the many smaller companies out there lacking the legal counsel to know whether they should worry or not and thus pass on allowing REBOL to be used. Because of this, I would almost be tempted to pretty much go with what you have (gone over by a lawyer, of course).

The point in your expectations that is not so clear, at least to me, is around the distinction between "improvements" and "extensions". IMO, it would be pretty easy to slide "improvements" into the "extensions" category (one man's improvements are another man's extensions) and get away with not contributing them. Thus, you might want to further clarify the distinction.

On the whole though - your statements resonate with simplicity around the intent. Great post!

5-Oct-2012 6:10:54
Franz-lisp? lgpl adjustet to lisp:

Also: How about a form of dual licensing? some “company” formed by the active members. Can relicense rebol as they see fit. On project base, not for money. If they see abuse they can stop it. No eternal loopholes.

5-Oct-2012 6:50:20
"If they have a gun pointed in their head companies will obey to the rules."

No. They just will go elsewhere. Where no gun is pointed at their head.

Robert M. Münch
5-Oct-2012 6:53:14
(at)Giuseppe Chillemi: "If they have a gun pointed in their head companies will obey to the rules." - The license is not your gun.

It's the action you take, based on the license and the believability that you will.

5-Oct-2012 7:20:03
Dual licensing (GPL & proprietary) is best choice for start time, imho. Later you can add other (BSD, LGPL, what necessary). This way passed MySQL AB and Trolltech.

Great importance to have the rules for admission commit.

5-Oct-2012 7:36:27
Carl, You're giving away a life's worth of invaluable work. You should have the largest possible community benefit from it - then many more people will be able to give back.

I agree with Andreas:

"If you think the widest possible reach is most important, choose MIT; if you want to enforce giving back (and potentially compromise on the reach), I'm with Gabriele: LGPLv2 for the C code and MIT for the REBOL code."

I have always thought that everyone, including you and RT, are most likely to benefit only if the widest possible reach is achieved.

Joe Latone
5-Oct-2012 7:41:16
I think you have the right balance, Carl. Thank you!

The kernel is copyleft while everything else around it can be licensed in any way. This is not unlike Linux or Perl. In general, this kind of license is not entirely unlike the so-called weak copyleft licenses such as Eclipse, which is used by their very successful commercially-driven open source community. I still prefer the EPL because you then don't have to spell out your exceptions, but I'll take the GPL with your explicit exceptions.

Other considerations, copied from MySQL:

1. Take ownership of all contributions back to the kernel. You're then free to re-license.

2. Trademark REBOL. Forks then can't use the brand.

Best, Joe

P.Oehler aka RebKodeur
5-Oct-2012 7:50:31

do you also expect to release R2 as open-source ?

5-Oct-2012 8:23:57
Hello Carl, The Artistic License (used by Perl and related projects) would seem to fit the bill. A quick summary:

  • You can modify the software without restriction, but you can't distribute it.

  • You must provide any changes to the standard version back to the copyright holder (i.e. RT) who can then release the standard version without restriction.

  • You can link to the provided code and distribute the new package with the linking code under any license (but the licensed code must be under the terms of the license).

  • You can "merely extend or make use" of the copyrighted code without having your use be deemed a modification subject to the license (in other words, simply using REBOL doesn't mean your code is subject to the license).

  • There's the usual warranty disclaimer.

That would seem to hit the major points.

Once again Carl, thanks for all your hard work. I'm very excited to see an open REBOL; I can't wait.

5-Oct-2012 8:27:06
(at)Carl Sassenrath:

This fits perfectly Rebol's philosophy, "keep it simple" : (Attribution-ShareAlike)

I hope you will take it into consideration.

Steven White
5-Oct-2012 8:27:25
I am not a lawyer.

Ruby has its own license. Apache has its own license. Mozilla has its own license. Could REBOL have its own license, which would be Carl's statement above polished into appropriate legalese? Or would that be asking for trouble?

I am not a lawyer.

5-Oct-2012 8:36:37
Well why don't act as MySQL: DUAL LICENSE

For OEMs, ISVs, VARs and Other Distributors of Commercial Applications:
OEMs (Original Equipment Manufacturers), ISVs (Independent Software Vendors), VARs (Value Added Resellers) and other distributors that combine and distribute commercially licensed software with Rebol software and do not wish to distribute the source code for the commercially licensed software under version 2 of the GNU General Public License (the "GPL") must enter into a commercial license agreement with RebolTech.

For Open Source Projects and Other Developers of Open Source Applications:
For developers of Free Open Source Software ("FOSS") applications under the GPL that want to combine and distribute those FOSS applications with Rebol software, Rebol open source software licensed under the GPL is the best option.
For developers and distributors of open source software under a FOSS license other than the GPL, Reboltech makes its GPL-licensed Rebol available under a FOSS Exception that enables use of the those Rebol libraries under certain conditions without causing the entire derivative work to be subject to the GPL.

Now everybody are satisfied!

5-Oct-2012 8:40:08
MySQL open source software is provided under the GPL License.

OEMs, ISVs and VARs can purchase commercial licenses.
Steven White
5-Oct-2012 9:08:30
OK, I should keep my mouth shut. I just ran across an article noting the importance of licensing in open source projects. I am not suggesting anyone read it; it just points out some examples of the twisted paths things can take with licensing issues.

One example that jumps into my mind is, REBOL is released under MIT/BSD. IBM or Microsoft takes notice. They get the source and put a thousand programmers on the project of creating a new commercial product. You get REBOL on steroids, people start buying it because it comes from IBM or Microsoft, gradually the memory of the Carl and the origins of REBOL dies out, nobody can use this REBOL-like product without paying IBM/Microsft, large-corporation complexity sets in, and so on.

I am not a lawyer.

Brian Hawley
5-Oct-2012 9:11:56
If you want to do all of this is a license, that sounds like a cleaned up version of the Artistic License. However, doing all of this in a license is a little off-putting and enforcing it will require going to court. It's kind of an expensive approach.

Robert and a few others have suggested an approach that might work a little better, but let's flesh it out a little. In this I'll refer to your line items as 1.1, 1.2, 2.1, 2.2, etc.

As a license, use the Apache License 2.0 rather than make your own. Apache 2 directly handles 1.1 (via clauses 2, 3 and 5), 1.3 and 1.4 (they either count as "Derivative Works" and are thus covered by clauses 2, 3 and 5, or don't count as derivative and thus are not affected by any of this), 2.1 (via clauses 7, 8 and 9), 2.2 and 2.3 (via clause 4). It also handles 2.4 indirectly by requiring contributors to give you and everyone else all the rights you need to make REBOL including patent rights (clause 5), but doesn't give rights to the REBOL trademark (clause 6) so you can still be the big man in charge. It also handles a bit of 2.6 ("What else did I miss?") by dealing with patent issues.

Apache 2 clause 5 also allows you to do an optional, nominal fee for contributions in jurisdictions that require it. However, that can be stated in a separate contribution agreement, hopefully a simple one. That handles 2.5.

That leaves us with 1.2, and the best, most efficient way to enforce that is through the community. Enforcing it legally takes time and money, both of which you'll have to pay. Enforcing it through the community is cheap (for you) and all it takes is community standards that encourage such cooperation, and smart REBOL developers that are willing to enforce it, and we have both.

The advantages of the Apache 2.0 license are that it is well established, very widely used, handles patents and copyrights, leaves you with the trademark if you still need a weapon, doesn't restrict the users, doesn't restrict your use of contributions without requiring copyright assignment, and is GPL-compatible without being copyleft. It has also been vetted by the lawyers at the Apache Foundation, OSI, FSF, even Microsoft (which now puts out its open source development tools with this license).

You should definitely trademark REBOL if you haven't already. And I agree with Fork, call it Rebol, and trademark both and rebol too if trademarks are case-sensitive.

Brian Hawley
5-Oct-2012 9:16:43
For what it's worth, you've in a unique position to use the REBOL trademark as a hammer if needed: REBOL is right in the header :)
droid rebellion
5-Oct-2012 9:22:25
Wikipedia list of open-source programming language licenses to ponder:

I would suggest following a professional template, something well read by legal experts eyes, like the Python license is.

An important issue is that Python makes provisions for including other software library licenses.

Note from Python license: --- GPL-compatible doesn’t mean that we’re distributing Python under the GPL. All Python licenses, unlike the GPL, let you distribute a modified version without making your changes open source. The GPL-compatible licenses make it possible to combine Python with other software that is released under the GPL; the others don’t. ---

Brian Hawley
5-Oct-2012 9:43:30
Any copyleft license would make enforcement of contributions back a legal issue rather than a social issue, which would be a financial hit to the community and more specifically you if this ever became a problem. It would also reduce adoption and lessen the chance of growing the community in the first place, given that REBOL already has permissive-licensed competitors.
droid rebellion
5-Oct-2012 9:44:42
I found a well written essay about the pitfalls and problems of open source licensing. It includes a list of GPL-incompatible licenses to avoid, like Perl Artistic license, etc.

Make Your Open Source Software GPL-Compatible. Or Else. by David A. Wheeler Released 2002-05-06, revised 2012-06-15

This essay argues that developers of Free-libre / open source software (FLOSS, aka OSS/FS) should use an existing widely-used license compatible with the General Public License (GPL), particularly the GPL, LGPL, MIT/X, or BSD-new licenses. It also argues against FLOSS license proliferation; where possible, you should only select FLOSS licenses from that list (with the possible addition of Apache 2.0). This article was previously printed, with a number of changes, as an article at OsOpinion.

Brian Hawley
5-Oct-2012 10:16:51
Note that Apache License 2.0 is compatible with GPL 3 and its derivatives, but not GPL 2 and its derivatives. This is because Apache has a better patent clause than GPL 2; it served as the inspiration for GPL 3's patent clause so it's GPL 3 compatible.

Whether or not you consider this to be an advantage or a disadvantage is up to you. If it causes Orca and Boron to be relicensed as Apache 2, I'd consider that a win. If you were hoping for REBOL to be included in the Linux or BSD kernels then you'd better go with the Simplified BSD License (2-clause) and give up on some of your goals.

The FSF recommends that you use Apache 2.0 over the other permissive licenses, and doesn't recommend GPL 2, if pleasing RMS is a factor in your decision not mentioned above.

5-Oct-2012 10:26:01
We'd live in a better world if this post could just be the license. As said above: "But not for scoundrels, we'd be done."

But for the world we live in, sounds like path of least resistance would be LGPLv2 for interpreter, MIT for mezzanine. That plus this blog post finishes it--everyone knows the score and what they're supposed to do or not do.

A few people are shut out from copying and pasting portions of commercial code into Rebol and distributing it without letting that source go. Let them be shut out. Perhaps Rebol's stake in the ground can be the catalyst so they re-examine their policies and their business model.

RE:Trademarks, BrianH says:

"And I agree with Fork"

(Fork falls out of chair, hits head, gets up, squints and re-reads, blinks...) :-)

Gregg Irwin
5-Oct-2012 10:49:13
Gabriele +1

Andreas +1

Nick +1

Gregg Irwin
5-Oct-2012 10:51:30
Carl, this is *fantastic*. Clear, unambiguous, exciting, and greatly appreciated.
Maxim Olivier-Adlhoch
5-Oct-2012 10:53:47
"(Fork falls out of chair, hits head, gets up, squints and re-reads, blinks...) :-)"


Maxim Olivier-Adlhoch
5-Oct-2012 11:18:22
I don't want to sound like the odd man out here... but what about derivatives.

there are sure to be some (a lot of?) forks of the project which cannot contribute back to R3 because the changes made are fundamental and break semantics or they simply don't fall in line with Carl's sensibilities.

I think we'd rather be able to work alongside R3 and give back some of the fixes and compatible improvements rather than fork another project or start one from scratch.

maybe there could be a clause that in the event where some improvements make the derivative incompatible with the original (semantic changes, file re-organisation, or simply difference in opinions about new features) that it simply not be allowed to be called Rebol, and that it must allege that it is derived from Rebol in its own license.

this way experiments become legal, but must explicitely state their ancestry in a hope that the user of a derivative has at least knowledge that Rebol exists and he may look into that project going forward.

There are sure to be other details to graft to the idea, but I'm just throwing the issue in the air.

just imagine a DOM aware web browser-integrated version of rebol which is embeded, not plugged in... obviously a lot of changes will have to be done and not much can be done as an extension.

with the concept of being *forced* to "contribute back" its awkward. I know that my changes won't be compatible with many of R3's internals, from the start.

As Robert stated earlier, any (major) forks of this type become the responsability of the derivative's author to maintain, debug and promote. If they stray to far, they risk being marginalized by the community anyways.

Maxim Olivier-Adlhoch
5-Oct-2012 11:30:25
There is also the problem of re-distribution of a derived version.

Is this even allowed? there is a fair chance that when we tweak the R3 kernel for specific projects, the changes are wholly incompatible with the main distro (and are not improvements but complete divergence from the original design (removing all network code at all levels could be one change, for example)).

But am I allowed to re-distribute it in closed form for my project? when the purpose of the change is to make Rebol work within the closed project itself?

Brian Hawley
5-Oct-2012 11:59:05
Maxim, would my Apache License proposal do for you?

Carl, according to your specs would the mezzanines be a part of the kernel or of the extensions? I know the distinction doesn't matter with the Apache License proposal, but it would for other proposals like LGPL-or-Classpath for the natives, MIT for the mezzanines.

Maxim Olivier-Adlhoch
5-Oct-2012 12:02:47
I re-read the post by Carl, and it seems to be his intention that we be allowed to do all/most of the above (so I see little of the effective GPL license left btw)

I am just raising the issues in an effort to make sure that we don't end up with 20 different incompatible flavors of interpreters which are all called Rebol.exe (simply because they derive from it). So what! if two weeks from now we have 20 spin-offs with wacky names... there are already 4 known spin-off languages. None of them able to contribute back, at least in the future, new ones could.

Maxim Olivier-Adlhoch
5-Oct-2012 12:09:23
Maybe the "improvements" part could be a little bit more specific in saying that only changes to R3 meant to improve R3's current capabilities OR which improves the design beyond integration of unrelated technology. I find it a bit dangerous to the stability of the platform that any changes meant to let R3 work in a new domain be forced to commit the changes back to the kernel.

the Example of adding a video! type to the core language just because you did so to cater to a specific requirement for a specific project is not a good idea.

adding a new generic PARSE operator (push/pop, for example) could be an improvement to R3. Adding one to simply link in a math lib (a parse-based l-system generator?) used by my project, REALLY isn't.

most of the times, those changes will be sloppy (on purpose, they are just bridges for one issue, not a complete design), completely specific, not properly propagated throughout the code and wholly untested.

These changes are NOT meant to make R3 better, but simply to integrate R3 into projects, or projects into R3. they are not improvements to R3 itself, if anything they are the opposite, project specific clutter.

Furthermore, I may be a licensed user of some code I'm linking into the kernel (required by my project), but not its owner, which instantly makes my contributions back into the R3 common branch impossible.

Brian Hawley
5-Oct-2012 12:11:06
Apache code can be combined with MIT/BSD code without causing the whole to be licensed as Apache (not like the GPL); only the specific parts from R3 would have the patent grant and termination clause. Also, the copyright grant doesn't have a termination clause nor does it have any restrictions.

This means that contributors to all of the current REBOL spinoffs would be able to contribute to R3 as well, and would also be able to read the R3 code, and the non-(L)GPL2 spinoffs would be able to use and improve the code and contribute those improvements back to R3. This would make the spinoffs a values, like it is for Ruby, not a problem.

5-Oct-2012 12:58:06
Being clear about derivations is important. (I'll remind those not technically familiar with Git that it's just an issue of labeling your branches...but all repositories: release, dev, forks...should be produced with a Git clone operation off of each other.)

I think it's quite reasonable for Carl to ask that people not distribute anything called "rebol.exe" (or similar). They should call it something else for the purposes of their website and distribution, and spell out that it is merely "Rebol-derived".

(If people want to rename it on their systems after the fact--to fit in with scripts that were written to call "rebol"...that's their business, but don't distribute it that way. If you're shipping a virtual appliance then symlinking /usr/bin/rebol to your alternative executable name should be true enough to the spirit to be okay.)

The startup message should also have to be changed in any non-official distribution, to make it clear in the terminal that it's not the official branch.

It's like the old commercial: "They don't say Rebol until Carl says they say Rebol." :-P

(Hmm. Seen through my now-adult eyes, that commercial is actually pretty twisted. :-/)

5-Oct-2012 13:00:41
Seems like LGPL for kernel and MIT/BSD for the mezzanine would cover your intentions.

However I think there is something to be said for releasing the whole thing as MIT, with a header in every source file linking to this post. Those that understand the benefits of sharing will do so. Those that want to keep secrets will do so, and if they want to maintain a whole system, without support of the community, it will be a mammoth task.

Given you are fond of keeping it simple, and cutting through existing complexity, I think there is a lot to be said for just linking this blog post as the license. It states your requirements clearly enough for anyone to understand if you ask me.

5-Oct-2012 13:12:29
In fact, here is an idea on naming: leave the name of the executable to produce out of the makefile. (or default it to "rebol-variant" or somesuch). Then put something in the build process that checks to make sure that once someone fills the name in, it's not "rebol".

Sure--that check could be deleted (and of course each official build would involve disabling the check). But it will keep people from casually or accidentally letting loose weird "rebol.exe" instances into the wild just because they were too lazy to change the name.

I'm sure there's "prior-art" on this... (Chromium vs. Chrome, etc.)

Frank Sievertsen (FX5)
5-Oct-2012 13:24:29
Carl, thank you for making this happen!
Brian Hawley
5-Oct-2012 13:37:28
Perhaps enforce the program naming with trademark law? :)
5-Oct-2012 13:45:34
Let me add in a heartfelt way that this blog post makes me happy. I don't wake up happy very often...but the spirit sounds spot-on with what I had in mind when I was promoting the "Version 3: It's Rebol Rebooted" campaign. I even made a picture:

Vetting the license was worth the slight delay. Yet I think we have the data here: the implementation of the intent is with LGPLv2 kernel and a no-automatic v3 exception (as per Linux), and MIT mezzanine. And most of all, a link to this post. Anyone who cannot work with these more-than-more-than-fair license terms is probably not serious about the "giving back" part.

(If it were me, I'd have AGPLv3'd the C core and LGPL'd only the Mezzanine. But I'm a zealot, and I'd have done it years and years ago. I realize it's not a serious option at this stage of the game.)

I'm a long-time C and C++ programmer (in fact, the C/C++ group I run recently had a visit from Bjarne Stroustrup, it was nice to finally get a chance to meet him). I am really looking forward to seeing what makes Rebol tick, and getting a chance to bring my own experience to bear upon the project.

5-Oct-2012 14:00:46
(at) BrianH ... enforcing trademark law involves lawyers and court and cease-and-desist letters. While Samsung and Apple seem to enjoy it, no one I know had much fun...even if they won. I'm just talking about a simple up-front decision that keeps casual lazy builds from making "rebol.exe" by default. Seems easy enough to be worth doing.
Maxim Olivier-Adlhoch
5-Oct-2012 14:07:12
(at)fork, very good ideas.

(at)brian, I've read and re-read the Apache license, and I find it VERY interesting. I especially like the copyright and patent licensing claims which are simple, and effective.

Protecting both parties from each other to some extent.

In fact I will probably re-license all of my code to this license from now on.

The only idea which isn't strictly part of the mission statement Carl posted is the "contributing back" clause.

This clause is the one which is the most problematic for me because its very subject to interpretation and honestly is the least enforceable in the wild.

I think that the contribute-back clause is not an issue if we use the ASL license. If we see nice ideas flying around in spin-offs, we are free to re-implement them in the main trunc ourselves.

In fact, its probably better if this contribute back selection process be done by the core group which will be working on the kernel regularly. If only for consistency and peer review.

If the original author of a new idea wants to share his code, fine. But, with the kernel in our hands and the talented people willing to work on it, I'm pretty sure we'll be able to integrate a lot of the more generally appealing ideas out there without much fuss, even without the original code.

Joe Latone
5-Oct-2012 14:12:53
Just fyi,, though I'm still in favor of the Carl's proposed licensing.

I do take issue with this statement, which is not consistent with the GPL: If you make improvements and do not send them back, then the license is revoked, and you retain no rights to use or distribute R3.

The GPL does not require you to release your modified version, or any part of it. You are free to make modifications and use them privately, without ever releasing them. This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization.

But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL.

Thus, the GPL gives permission to release the modified program in certain ways, and not in other ways; but the decision of whether to release it is up to you.

Alexander Boström
5-Oct-2012 14:15:54
Maxim, "you agree to send [your changes] back", but I don't think Carl intends to deny you the rights to your version even if he doesn't accept it. It's good to work out a way to minimize forking though, but the right to fork is fundamental in any Open Source/Free Software license.

I guess the use of the words "send back" wasn't meant to be taken literally, though? Copyleft licenses usually don't stipulate that source be sent back to a central distribution point, just that it will be offered along with the binary. Typically this is accomplished by making it public, though.

Regarding legal costs and the GPL; these cases hardly ever go to court, either they're handled quietly with some gentle reminders or they're outside the reach of your legal system anyway. Set the limits you actually want, then if there is a violation you can decide what to do.

There should definitely be a policy regarding how the name and the logo can be used.

Maxim Olivier-Adlhoch
5-Oct-2012 14:16:54
(at)fork... good ideas regarding the target output not being rebol..

but I do think a modified ASL license is better suited to Rebol.

Carl did state above that he doesn't care about distributions retaining their viral "free" nature (he specificaly states that he is ok with closed source only re-distributions of derivatives... which is the main no-no of any gpl code).

ASL is commercial friendly... and that is what Carl really wants. without commercial support rebol won't fly.

5-Oct-2012 14:28:37
hum how will you know that I have on my computer an non disclosed version of r3 with changes I don't want to share?

If my changes are a need for me but that you don't like them then we have a problem no?

Cause what I could need is not exclusively what you could have in mind or see fit with r3...

If a modificaiton isn't integrated in the official r3 version and acknowledged by the official dev team then I loose the right to use my moded VM ? this kills the forks intent completely and if I don't delete my work right away then I loose the right to use rebol3. Seems like a lot of troubles.

BSD or MIT licence you achieve the same goals you can maintain a mainstream official rebol3 but then your official devteam have to be more than the sleeping beauty we actually have and they have to actively work on the enhancement of rebol3 and its diffusion.

Cause if they collect the changes the community prepare but release them only 3 years later then during 3 years we the community will infringe your licence by not sharing to the world our changes.

Maxim Olivier-Adlhoch
5-Oct-2012 14:28:49
(at)Alexander: actually, I take it in this way because in the past Carl has expressed the desire to manage a central repository which has all the changes posted back (quite litterally :).

in the R3 dev chat you can submit code and IIRC that was what Carl originally wanted to use. but with Github and newer better Git clients, I hope that is where it will end up.

It will also give Rebol a lot more visibility if its on a very public source server.

5-Oct-2012 14:50:02
I'm aware that lot of people here were like me, and grew up in a very different era of source control..."before DVCS". Let's be clear how Git works:

All "cloned" repositories are able to share "DNA"...where that "DNA" is a path of "commits". Each commit (that can affect several files...edits, creations, deletions, renames) has an ID, which is a very large and unwieldy number. Yet this long number is an aggregate cryptographic hash of the heritage of the repository. Unless you're dealing with the NSA (or aliens) you can be confident that a commit ID guarantees a specific full state of the files on the system.

A "branch" is merely a label that gets slipstreamed in at points of divergence in the version graph. It is used as a convenient way of referring to "whatever the latest commit after that particular divergence" is. It keeps you from having to manually type in those long commit numbers...because usually what you're interested in is getting the most recent commit that can be traced down on a path of divergence.

Since all cloned repositories have the ability to share DNA, people will make their deltas and publish them. But note that all random forks that publish changes will not be "checking in" anywhere. To the extent there is such a thing as "checking in" you might call it a "push"...but as a working model, it's extremely rare that you give out push rights on a repository to very many people. GitHub in particular has a model where each clone has one pusher...the owner of the account!

Thus no commits will migrate into the official repository unless they are "pulled". That's the way it works. And I think it should be obvious that if you don't transfer your code to another party then you can darn well do whatever you feel like. You don't have to videotape yourself in your underwear while coding something Rebol-related and micro-blog every semicolon. :-P

Giuseppe Chillemi
5-Oct-2012 14:57:46
I don't like the ideas that someone takes the whole rebol kernel and change it without distributing the source code. Big changes could take years to be implemented by the open source community.

Carl spent years and money on this project and I would like that companies Who have advantages from rebol kernel contribute back to the community.

Alexander Boström
5-Oct-2012 15:16:23
I think this is where I put the disclaimer: I am not a lawyer.

The Classpath exception uses the wording "independent module" and defines it as "not derived from or based on this library". So what does that mean? A reading of GPLv2 and GPLv3 suggests that "derived from" and "based on" applies when you "copy from", "adapt all or part of" or create a work "containing the Program or a portion of it". That sounds like reasonable definitions.

You might want to consider various scenarios where code is shared with or copied between this and other projects and see if any of them might be relevant and what that means for the licensing. Web browsers? Web servers? GUI toolkits? Other VMs/interpreters/compilers? Relation to the various existing REBOL-related projects?

To offer something back: If REBOL is released under a GPLv3 compatible license or combination of licenses I will attempt to package it and get it included in Fedora. I'm sure others will do the same for other distros. Whether that license is MIT, Apache 2.0, Perl, Python, LGPLv2+, GPLv2+, or whatever else, I don't really care. I'm a fan of Wheeler's essay though. :)

This might be useful too:

5-Oct-2012 15:20:55
(at) Guiseppe - absolutely. As I just wrote a little about Git I will point out that it is yet another massively successful GPLv2 project.

"Hey Git...Linux...jQuery: will every technology that will still be relevant in 20 years take a step forward?"

"...whoa...not so fast, jQuery!"

All the rattling against GPL variants here are of the form "it's inconvenient for me in my current job" or "this announcement is too little too late anyway, so why bother". For argument #1: get a better job. For argument #2: don't count Rebol out. Y'know, I was the system architect at MS Research of one of the more interesting DSL systems on the planet (it's not just me who says so):

Rebol is a different animal entirely, and I now see both sides. You can let complexity spiral, and build more and more tools for managing it (C++11 for example, which is quite profound and has been taking a lot of my time)... or you can pull complexity out of the equation entirely. We need both, but not enough people are focusing on the latter.

I saw a quote that Rebol was a "backwater" due to the closed nature. Once that barrier is gone, the doomsday-sayers of how it's "trop tard" might be shocked at how relevant it becomes. And if it lives up to its potential, and you find it as the embedded scripting language for some proprietary product that you can't'll wish you hadn't been so cavalier about the license!

Simple as that.

Brian Hawley
5-Oct-2012 15:26:17
Giuseppe: And then those forks usually suffer because the overhead of keeping them up to date with changes in R3 will get too high, so eventually the modifications are contributed back into the main project in order to make their lives easier.

Just look at the Android Linux fork: Blocked by a disagreement, even though they're both GPL, but they are coming to agreement now and gradually merging back, and this was a fork by a major company who could afford it.

Cooperation is a benefit to all, even the forkers.

Steven White
5-Oct-2012 15:35:46
What if a "forker" were an ethically-challenged major corporation that took an MIT/BSD licensed REBOL, wrote its own version that differed enough so that changes did not have to be returned, then used marketing muscle to make its own REBOL-like product so heavily used (by giving it away, putting it into a language package, requiring its installation on all new computers) that it drove the "real" REBOL out of existence. I don't know if that is possible, but I do believe there are companies that would do that if it were possible.
Brian Hawley
5-Oct-2012 15:55:13
The same could be said of a GPL'd clone with a major backer. They don't have to contribute back (just make the source available) and Carl doesn't have to accept the contributions, so we could still have a well-backed incompatible fork. A GPL-derived license doesn't protect you from that. Even a closed-source license doesn't protect you from that, if they're able to clone by observing behavior instead of reading source, and we have some people in the community who can do that already.

But hey, have you noticed the REBOL trademark in that script? It was somewhere near the header. Not much of a protection, but at least it keeps the riffraff out.

5-Oct-2012 18:44:59
Nick +1

I couldn't agree more.

5-Oct-2012 23:47:52
I haven't had time to read this entire discussion yet, but from the article at the top of the page it really looks like what Carl wants is the LGPLv2. The GPL itself is ambiguous about the legal meaning of "derivative" works, which can turn into a nightmare somewhere down the road for someone who makes assumptions leaning toward the permissive side of that line; the LGPL removes some of that ambiguity.

As things currently stand, the LGPL is unlikely to impede adoption much, I think -- but it still makes for some uncomfortable times in the room when people are trying to decide how much legal exposure they face, at times. Overall, it sounds like a pretty close match for what Carl says he wants, in any case.

I did happen to notice the word "complexity" coming up several times here, in my quick skim. It's worth noting that the complexity of the GPL (and LGPL) is greater than that of many Microsoft EULAs. GNU licenses are, in general, legal minefields waiting for someone to step wrong.

Anyway . . . I plan to give this discussion a closer look soon. I hope I didn't miss something important that invalidates everything I said in this comment.

6-Oct-2012 2:42:59
As soon as the license is set, we must fork it preferrably under the name TROBOL!

No (scoundrel) company will mess around with something called TROBOL. ;-)

Chris Travers
6-Oct-2012 4:44:21
I think that's fair summary of the license. I would add a couple points.

First there is significant uncertainty about whether something like linking implicates the license. In general the consensus outside of the RMS camp is that the GPL restrictions do not preclude more permissive licenses from linking to both GPL code and pre-existing proprietary code as a sort of bridge--- think of using ndiswrapper on Linux or the nVidia binary video drivers.

In general I personally think that there is little substantive difference legally between the GPL and the LGPL. Linking is neither necessary nor sufficient for derivation to show derivation, but the difference is that with the LGPL, if there is linking that's the end of the inquiry and it is allowed. However if you think about it, it is unlikely that AutoCAD is a derivative work of Windows system libraries and so linking is unlikely to be derivation most of the time. Microsoft can never There are differences of community expectations of course and those are very important.

On the subject of derivative works and additional distribution, one key thing to think about is the trademark issue. The GPL is not a trademark license and it is perfectly within the letter of the license to require that trademarks are not used on unaffiliated products. It's perfectly fine to say "you can say your modified version is 'based on REBOL' but you can't call it REBOL."

So if I were advising on this point I would suggest being clear to the community regarding expectations regarding the following things:

1) Extensions linking to proprietary source code libraries

2) Distribution of modified versions: when and how the name REBOL can be used

3) Copyright assignment and whether you want to sell additional licenses.

So those are the additional few issues I would suggest should be considered.

Chris Travers
6-Oct-2012 4:45:40

Don't go around looking for TROBOL.....

Don't use it, it's TROBOL.....

Thinking of a hundred other snarky things to say about the name.

6-Oct-2012 4:45:46
We're all geeks here, not attorney, even if we have more or less knowledge on all those possible licenses. The fact that any enhancement will be sent back to the community rely on human being. See, all scripts hosted at Each time someone feel its work could be useful for others, he will share. I'm confident that we don't need to wrap anything on a license that would make us feel safe about community sharing or contribution. That's why I would choose the most permissive license in the end, because what we need is not a contract but a community.
that's possible
6-Oct-2012 6:02:27
What if a "forker" were an ethically-challenged major corporation that took an MIT/BSD licensed REBOL, wrote its own version that differed enough so that changes did not have to be returned, then used marketing muscle to make its own REBOL-like product so heavily used (by giving it away, putting it into a language package, requiring its installation on all new computers) that it drove the "real" REBOL out of existence. I don't know if that is possible, but I do believe there are companies that would do that if it were possible.

Possible , yes it is for those with deep pockets. However I see it in a little bit different way.

I see them.. more likely stealing REBOL features and incorporating those in their existing languages, that will cost them less.

6-Oct-2012 6:05:32
Take care: If the delivered interpreter can be replaced, the embedded scripts can be extracted. Change load and add a hook. The delivered interpreter should allow some obfuscation which is not open source.
6-Oct-2012 6:09:52
Ethically challenged fork has happened with webkit. Gpl forced them to open it. Now it is the “reference implementation” of html5.
6-Oct-2012 6:11:30
Something we keep coming back to is roughly "it's not like anyone here is going to do something really interesting to the interpreter and not share us."

I don't think the question is of trusting the people here. The blog post sets the expectations as well as anyone would/could enforce on the micro scale. It's just about having a legal wedge to give the intent some teeth should big corporate interests arrive.

Think about what happened to KHTML (which was LGPL). Apple ran off, assembled a team, and spent a year or so making their own WebKit fork. They didn't tell anybody they were doing so until the time of release of Safari. Who would have thought that an obscure browser like Konqueror would have been of interest to Apple in the first place? I don't think it's as improbable with Rebol as people are acting like it is.

One might argue that regardless of license, Apple probably would have open sourced it anyway...but I wouldn't be so sure. itself still isn't open; would they have made the effort to keep the lines drawn clearly around the WebKit component if they weren't legally required to? I don't see why they would have if it was not "convenient" for them. We'd just have another browser like Opera/IE...and it would have impeded evolutions like Chrome which I use daily.

So there you have another copyleft success story...on a big piece of "web" infrastructure, no less. Also, to clarify: when I called StackOverflow copyleft I was speaking about the content license...they use the same one as Wikipedia. My point was that copyleft (as a concept) is powering thriving creative commons intent, and software intent...and as Carl says he's seen it work in industry on a daily basis.

Like Stallman said in the interview I watched: "It's like someone having a theory that satellites won't stay up. You can say, well, they do...look up at the moon'":

So look at WebKit. Look at Linux. Look at Qt (which I use all the time). LGPL instead of GPL bugs me because it inhibits borrowing of pure GPL code-DNA into the original repository. But because of principle there's probably no existing GPL codebase Carl wants pasted in there anyhow. :) Others could bump their projects up to full GPL with the knowledge that the trunk won't be taking their changes; though others in the community could.

(The more I think about it, I'm thinking it's important to keep the "relicense as GPLv3+ if you want to". You should be *allowed* to do it, you should just be aware you're stepping off a cliff in terms of feeding any changes back, so people won't do it without really good reason.)

6-Oct-2012 6:31:58
If permissive and community, vague thought: How about giving it to the apache foundation?
Carl Sassenrath
6-Oct-2012 6:57:01
Unrelated notes:

1. REBOL3 on Twitter re-activated:

2. Embedded links no longer allowed here (there were hundreds of spam links being created to try to boost other site's google rankings)

6-Oct-2012 8:24:41
Aha! That is what took you so long!

It is REBOL4 on Altme already so activate that as well. As soon as we get our hands on REBOL3 to keep them apart calling it REBOL4 is an option?

(REBOL Unlimited)

Though contributing improvements to R3free is not for everyone here, it could be some kind of reward for that (contribution mention or ?) is possible? Also could be for a company improving the core yet developing it own apps a good thing to do, publicity wise, so not only the worst scenario of company hijacking REBOL applies.

Some thought about improving R3: Also it should be possible to get improvements accepted, even when not coded 100% conform standard code(?), setting tasks for beginning programmers to bring it up to standars. Who will test all code? Need to support a testset? How about GSoC appliance? (Google Summer of Code) and providing Mentors for students?

Anyway looking at the suggestions up to now for a fitting licence I see some candidates and suggestions come along. And I think I read an advice to consult a specialised lawyer/hyena. (forgot the right word applying here)

Maybe I may add a suggestion and ask around with other languages/organisations for their experiences with respective licenses? Could it be that someone at Google (just an exemple) legal department would gladly help to advice. If you do not ask, it's a no for sure.


Brian Hawley
6-Oct-2012 9:15:15
Here's the thing: REBOL already has a spinoff language (Red) with an active community and multiple talented contributors, that is MIT licensed. It has another spinoff (Topaz) that has some great ideas and is developed by one of the smartest REBOL developers in the world, and it's also MIT licensed. These already exist, though they are new. They aren't direct competitors with REBOL because they have very different semantic models - one is compiled to native code, one is compiled to Javascript and runs in Node.js or a browser. They are, however, currently competitors for the REBOL community.

On the other hand, REBOL has another spinoff language (Boron) that is years older than those others, that is LGPL licensed (previously 2.1, now 3). As a result the REBOL community has for the most part not adopted it, because copyleft keeps a lot of us from being able to use or in some cases even see the code, for legal or business reasons. Aside from adoption in one Free Software operating system, Syllable, it has pretty much stagnated because of this licensing choice. All other (L)GPL REBOL spinoffs have failed completely, abandoned and lost to history.

We also have commercial development companies who build applications in REBOL that, for various business or legal reasons, can't be distributed in source form (not every app is a web browser). These development companies currently employ many of the smartest REBOL developers, ones that we would want to contribute to REBOL itself if possible, not just use it. Many of these developers won't be able to contribute if REBOL is copyleft, and probably won't be able to contribute if it requires copyright assignment either. They might be able to be users if it's Classpath or LGPL, but their talent will be lost to us. One company with a lot of our smartest people even has a backup plan to switch to Lua if necessary.

Copyleft licenses, even Classpath, will split the community and impede adoption of REBOL as a whole. This isn't a hypothetical fear, this has already proven to be the case.

Brian Hawley
6-Oct-2012 9:16:01
But this doesn't have to be the case going forward.

These spinoff languages can be allies, not enemies. The native-compiled one can go to places too small for REBOL, and could be integrated with REBOL itself as a low-level dialect. The web-based one can be mined for ideas (it has some good ones), and maybe lead to a web-based port of REBOL. We can share ideas, share community, and all benefit from it.

These closed-source developers can contribute to the community, not just be passive users, if it benefits them. And they can afford to pay developers, even pay them to contribute.

In order for this to happen though, the developers working on permissive-licensed and closed-source projects need to be able to see REBOL's source, or else they won't be able to contribute. REBOL needs to be able to compete with other popular or even directly comparable languages, and all of them have permissive licenses - copyleft can't compete with that.

I have been talking with a lot of people over the last couple weeks about this, and we've determined that if code reciprocity is enforced in the license, whether it be copyleft or like the Artistic License, then the permissive-licensed projects will continue on and their contributors won't be able to contribute to REBOL or even see its source. Same with the closed-source developers. The community will be permanently split, and probably won't succeed as a result.

But if REBOL is licensed with MIT, BSD, or even Apache, people working on these projects would be able to also see and contribute to the REBOL source, and the split could be healed. If code reciprocity is encouraged through other means than the license, we will get contributions from these people. And we really need these people: The majority of the top REBOL developers, the people who have most contributed to REBOL in the past (aside from Carl), are all working on permissive or closed source projects.

Brian Hawley
6-Oct-2012 9:17:41
As for the license itself, MIT/BSD would do, but given Carl's requirements above I would prefer Apache.

Apache-licensed code can be incorporated in otherwise MIT/BSD or closed source projects without requiring them to adopt the license for their own code, and has no restrictions that would prevent them from reading and learning from the code, so it wouldn't cause a split in the community. So, no minuses versus MIT/BSD.

On the plus side, Apache has a clear contribution policy that will let all of us, even Carl, use the contributions without excess requirements, and without requiring copyright assignment. It also has patent grants and defence that MIT/BSD don't, so you don't have to worry as much about submarine patents in contributions. Its trademark clause is also more clear than BSD's, and MIT doesn't even have one. Plus, all of that stuff I said in the earlier message.

I'll put my money where my mouth is, so to speak. If R3 is licensed as Apache, or even BSD/MIT, then I will contribute my already extensive contributions to the mezzanines of R2 and R3 under that license. And I haven't agreed and won't agree to copyright assignment, even for the stuff I've already contributed under the MIT license, so you won't be able to enforce copyleft on that portion of the code with the license.

6-Oct-2012 10:23:29
If r3 is dual licensed, the closed sourcers could get licenses to continue their work. They would be required to keep it closed, so no backdoor to permissive for the world. The spinof devs could get an explicit license to look at the source and reuses ideas (which is law anyway AFAIK, but...).

The old gurus could form a "company", which gets sublicensing rights and give licenses customised to such special cases. Call them the rebol grandfathers :)

Thus the old community can continue in their style, the new can start copyleft, binary only, or ask the grandfathers for a customized license. Or start copyleft until the grandfathers are satisfied. (Appstore-devs need the fear of rejection ;)

Brian Hawley
6-Oct-2012 10:54:12
Dual-licensing requires copyright assignment for contributions, just like MySQL. That's a deal-breaker for a lot of people. A permissive-licensed project can accept contributions without requiring copyright assignment to allow closed-source or permissive use - all that's required is a copyright (and preferably patent) grant.

With a grant, you allow people to use your stuff, but you still own it. With assignment, you actually transfer ownership to the company or foundation that is running the project, and then only are allowed to use the code that you wrote under license from its new owners.

This is why I let RT use my contributions but didn't transfer ownership. And under the license terms, Carl and the rest of the community has been able to benefit from my contributions. And if R3 doesn't go copyleft the community will benefit from even more.

Note that even copyright assignment or grant doesn't assign or grant patents, so even with copyright assignment contributors can still assert patents against the project and its users. That's why I like the Apache License.

6-Oct-2012 10:59:34
As per Omei: What if there was a dual-licensing model (like with Qt)? If there are recognized specific organizations/individuals that have a stake in Rebol and are seen as too important to lose (and who'd be deserters on copyleft), then just grant them a free commercial license that RT would ordinarily charge for.

Are there really that many entrenched organizations that would fit in this category? Aren't we talking about fewer than 10 people? With a commercial license they could do whatever (based on trust, knowing them personally, and confidence they were gung-ho about contributing back). They can still send their modifications back with the contributor agreement clause so it may be either commercial or LGPL licensed. Lets one kick the tires on the nature of the commercial license too.

(Newcomers do LGPL -or- pay -or- make a convincing case for why they somehow can't do either of those things and get a free commercial license.)

I'm a bit baffled how so many people are standing up for the complex pressures of commercial software organizations that use Rebol...yet seem indifferent to RT wanting to have some idealistic leverage, here. I'll reiterate that Red sounds like a nice place to draw the ideological divide. If you can't cope with LGPL...then use that...problem solved.

Brian Hawley
6-Oct-2012 11:47:13
Idealistic leverage isn't the problem here. It only blocks adoption and splits the community if it's legal leverage, if it's in the license.

I'm a bit baffled how so many people are standing up for the complex pressures of commercial software organizations that use Rebol.

Because most development industry-wide is done by commercial software organizations, and will continue to be done so in the future. That's because commercial software organizations have the money to pay developers. Some people are lucky enough to be paid by not-for-profit organizations or educational institutions or governments, but the vast majority are not. This is a global pattern, not just a Rebol one.

This is not just an issue for a few people now. This is an issue that will affect the majority of potential users and contributors going forward, most of whom haven't even heard of Rebol yet.

A copyleft license, or worse a copyright assignment requirement, may not block adoption by end users, but it will block participation by contributors. Can we afford that?

I'll reiterate that Red sounds like a nice place to draw the ideological divide. If you can't cope with LGPL...then use that...problem solved.

Community split, and look how well that worked out for the Lisp community.

Fork, of all the people in the current Rebol community that I know, I only know two who actually can contribute to a copyleft project: You and Kaj. Boron is LGPL 3, and Kaj works on it, why don't you?

Boron sounds like a nice place to draw the ideological divide. If you can cope with the LGPL then use that. LGPL 3 projects can even incorporate Apache 2 code without explicit permission from the original rights-holders, and without giving anything back. It'll still split the community, but it'll be a split that won't affect as many people going forward.

6-Oct-2012 12:08:26
As per Fork's statement above, there aren't that many people who appear that they would have issues with the current license proposed; numbers are really small in the first place right now.

Also, attributing the failure of other projects as being due to any particular licensing doesn't say anything about that licensing specifically. The developers in the newer projects may or may not have had licensing as their main concern. The failure of the other projects may have been bad implementations, etc. I know I wasn't interested in Orca, etc. because they had too many issues that hadn't been cleared up regarding compatibility. Red is closest to it at the moment but I'll drop it like a hot rock once REBOL is released.

I say if the developers have a problem with the LGPL, do as Fork suggests, let them use Red. I'll still contribute any changes to REBOL I make without a second thought and I'm sure that more will follow suit once they see the original project has been open sourced.

6-Oct-2012 12:30:49
Red is not c, topaz is not c. Why? Yep. Boron and Orca?

Now copyright transfer: (IANAL, /. educated etc)

Brian, people develop a product and use libraries from other people. They need the source for the libraries. They pay more and get it. They are *not* allowed to make the source public. They *are* allowed to license the binary how they see fit. The library-devs *do not* give up copyrights, only a license for this purpose. The library-devs can also pick the conditions for their license. Allowing opensourcing under certain conditions. Or not. Thus no open R2.

Nice, short, but then i was caught in explainmode:

6-Oct-2012 12:35:13
Brian is making the best arguments I've heard yet for Apache license.
Brian Hawley
6-Oct-2012 12:38:23
Anonymoose, I am not attributing failure to get contributors due to some theory. The potential contributors explicitly said so. The people who avoided using Boron/Orca because of license reasons explicitly said so too. The people who have had difficulty with LGPL projects have said so too. I wouldn't know about any other problems that Orca/Boron have had, because it hasn't been adopted widely enough for those kinds of problems to be widely known. We've rejected it too thoroughly for that. No offence is intended to the author, it's a license thing.

LGPL isn't a problem for end users, just for contributors. Most people using a tool don't contribute to it, so details like that don't matter to them. Open source is enough for most people.

Brian Hawley
6-Oct-2012 12:56:38
Omei, not arguing against your overall point, just a couple little bits.

I only said that copyright assignment was required for copyleft/commercial dual-licensing, not not for copyleft or open source in general.

As for the C vs. Red/System or JS backend issue, legally (in the US) a translation to another language is a derived work. So differences in implementation language don't make the issue go away. Red and Topaz were implemented that way because that was the intention of the projects, not because of license reasons. The docs of Orca/Boron indicate that they were implemented in C for similar reasons.

Back to the argument!

Carl Read
6-Oct-2012 14:17:09
Brian Hawley's arguments in favour of the Apache license are compelling, so I'm voting for the Apache license.

Avoiding splits in the REBOL community is beneficial to all. So, Carl, please choose a license that doesn't force them to happen.

Giuseppe Chillemi
6-Oct-2012 14:29:11
Brian, I have read the lincenses available. You are right, the apache 2.0 license is the best option we have. I believe in the community too.

Lets go for it !

6-Oct-2012 14:37:11
(sorry for length)

But copyright assignment is not required. If the contributors license suits both, both can use it. MIT suits GPL, so ok. Does MIT suit the commercial? That depends. It seems not to suit MySQL.

Maybe with MySQL, it is about exclusive: if they get copyrights, they can exclude the author from its own code. So they make sure it is only available as GPL or through them, but not for some friendship and beers as MIT. But commercial rebolers love friendship and/or beers, and wine too.

If it is ok that the contributors can reuse their code in other ways, commercial has no problems. (big IANAL of course ;)

About derivative: RT published some sourcecode, AFAIK without proper open license. Means who has seen some has no such license. But derivative does not need one. Have learned from such code, tainted. As with looking at GPL. If the law is really that way.

There was code extractable from the binary, and openly discussed (sometimes fixed) on the mailinglist. Hard not to see it. I guess no one got to gurulevel without such sources. Even if, hard to prove if he had a binary. There was sourcecode in the sdk. Is that now all MIT and i missed it? (was lazy, possible). Or does RT now own the red topaz?

BTW, i like apache too. Patent protection through a huge userbase and some bigwigs who can pull strings when their apaches get hurt. Am i paranoid? And GPL3 for those apps where users do not like being remote controlled.

OT: If you made it till here, some bananabread (modern firefox/chrome):

Compiled from c++ (legendary sauerbraten) to javascript with emscripten:

Maps created with “e”, scrollwheel and some other keys.

Guess how rebol could enter the browser? ;)

I am getting hungry...

Brian Hawley
6-Oct-2012 15:00:38
I suppose that I should explain the reasons that the copyleft/commercial-closed dual-licensing model usually requires copyright assignment. It all comes down to money. Basically, you have two common models for accepting contributions to a this kind of project.

The most common model is a commercial entity crowdsourcing their work in order to profit off of it. The Free Software advocates help to market the product, and help to extend and fix it. The GPL (it's usually the GPL) is used to suppress competition from free or strictly closed alternatives. However, in order to be able to enforce the licenses the company has to own the copyrights. And the company still gets to make money, even off their own contributors. Given that this transfer of ownership to the company gives them financial benefit, it is notable that it is exceedingly rare that contributors are paid for their contributions or get a cut of the profits. On the plus side the company provides a central target for lawsuits, though that has been less the case lately with patent lawsuits. On the minus side, in most of these situations you don't get a lot of outside contributions.

Less common: The same thing, just not-for-profit. There is some foundation that owns the copyrights, and the profits go to fund the project, marketing, building a defensive warchest, servers, etc. Most foundations have commercial backing, or else they fail or don't grow. These tend to get more contributions, for various reasons, though most contributions still tend to be from paid developers, though they are paid by more companies than just the one. Still, even this model is a bit rare even for foundation-backed projects; it's much more common for these foundations to form around pure copyleft or pure permissive licenses, and for the economic model to be based more around marketing deals and donations.

Without copyright assignment, there is no part of the process of licensing the product commercially that isn't awkward. First of all, who is allowed to charge for the commercial license, who gets paid, and who doesn't have to pay? In order to enforce the commercial license the contributor has to grant the right to charge for and distribute stuff without source, and to require payment from those they distribute to. This is basically a permissive license to a single entity for something that you would otherwise copyleft. And what do you get for that? Are you given a cut of the profits? A commercial license? Commercially licensed code wouldn't be able to be added to a permissive license project without making it not open source anymore. (L)GPL'd code wouldn't be able to be incorporated in a project like this. It's participant-hostile, which is why AFAIK this kind of thing has never happened.

More often, if there's no copyright assignment policy what happens is that contributions are licensed to the distributor using a permissive license, then that distributor charges for licenses to the greater project, just like RT has done so far. If there's any copyleft licensing then it's done on the back of the permissive-licensed developers, or work-for-hire.

Permissive-licensed projects don't need copyright assignment because there are no restrictions to enforce - that's what they mean by "permissive". The central entities get to use the code, the copyleft fans get to use the code, everyone gets to use the code. We all win.

6-Oct-2012 15:09:22
To make things easier on Carl, could we try to get some sort of consensus about specific licenses?

It appears that a number of us have begun to agree that Apache might be the way to go - along with a link to this post (or a copy of it directly in the license). I'm trusting those who know a lot more than me about licensing than me, and Brian makes a great argument for Apache.

Carl, what are your feelings about Apache? Are there any important developers in the REBOL community who would not be willing to use the Apache license?

6-Oct-2012 15:50:48
I also agree with Brian's argument for Apache licensing as long as it melds 100% with Carl's wishes at the top of this blog post.

Unrelated note: Thought it was interesting that this blog post number = 2 ** 9.

6-Oct-2012 15:57:57
Brian Hawley,

You're not getting it. You're trying to prove a negative and that's simply not possible. The only thing you're proving is that the developers who didn't work on those projects weren't interested in their licensing. That doesn't mean that was the cause of their failure however. There is a difference.

6-Oct-2012 16:49:46
In case that wasn't clear: wherever I write/wrote MIT, I would be fine with any other permissive license as well.

So a +1 for the Apache License from me.

Brian Hawley
6-Oct-2012 17:01:58
Anonymoose, "failure to get contributors", not failure of the projects.

In at least half the cases I'm aware of I can't say whether the projects failed at all, since I wasn't told. In other cases they weren't meant to last - they were research projects, or just intended to support a particular task, so in that sense many of them succeeded. I can only think of one Rebol clone that was definitely intended to succeed as a clone and be adopted, and which failed at both, partly because of licensing issues but mostly because R2 was good enough, and I know this because I saw it happen and the people involved said so.

Some projects don't need or want contributors, no matter what licensing. They serve their own purposes. John Niclasen's World is a good example of this. I don't for a second think that World not being adopted will in any way make it not successful, at least as far as John is concerned. And that's perfectly fine. Success is in the eye of the beholder.

Still, that's not the point I was trying to make, which had nothing to do with whether the projects themselves succeeded or not. I was just talking about adoption, and that many people care enough about licensing to reject a project because of it. And that I only know because they said so.

Jaime Vargas
6-Oct-2012 17:45:41
Given the stated principles, I believe the CDDL fits the bill. See
Gregg Irwin
6-Oct-2012 19:17:30
If Carl doesn't like MIT, I'm good with Apache.
6-Oct-2012 19:34:37
If the license is interpreted in the light of your statement of intent, almost any license can work, from AGPLv3 to GPL, to LGPL to MPL to Microsoft-style shared source licenses. Exceptions would be most proprietary EULAs (which are far too restrictive) and the most extreme ultra-permissive licenses (which expressly surrender even the limited restrictions noted above).

I personally favor the Mozilla Public License and / or the LGPLv3 for this project, but GPLv2 will also work.

As for Red and Topaz and so on, I would suggest a separately maintained list of excepted applications which would be granted the right to use some code from Rebol in their applications, under their project's own license.

Finally, in order for a contribution to be accepted into the central Rebol project, the copyright holder should agree to the statement of intent, the particular license, and the ability of the exceptions list to waive license requirements.

Brian Hawley
7-Oct-2012 5:38:59
So yeah, "All other (L)GPL REBOL spinoffs have failed completely, abandoned and lost to history." needed a bit of clarification, sorry. Just because they're no longer publicly active and didn't spread doesn't mean that they necessarily failed as projects :)

I also don't mean to imply that World won't get adopted or get contributions eventually, John permitting. I just mean that its success apparently doesn't depend on that at all, and that's OK. World actually seems pretty interesting :)

David den Haring
7-Oct-2012 14:11:28
At Atronix Engineering, we support Carl's intent in this article but don't have a specific recommendation concerning the license. Internally we have discussed GPLv2 or LGPL.

I just reread an old LinuxWorld article from 1999 titled "A REBOL Incursion". In the article, Carl expressed his long term feeling about REBOL and open source:

"I truly understand the value of open source," Sassenrath said, "and I would like to see, down the road, REBOL be open source." But REBOL is still in its early stages now, and, according to Sassenrath, it still "needs to mature."

We believe it is time and look forward to supporting the project.

7-Oct-2012 18:19:44
Techrepublic has an interesting story about opensource licensing and its effect on openoffice / libreoffice / lotus symphony.

I find it interesting that libreoffice is the fastest-improving fork, the one with the least corporate backing, and the one with the LGPLv3+ and MPLv2+ licensing.

8-Oct-2012 1:06:26
There is a poll on Facebook about license to use:

Go there an vote!

8-Oct-2012 5:22:04
(at) steven white: Hum ... if a big company lets call it microsoft wanted to have it's own commercial rebol to make desapear rebol. what they had to do is throw 2 or 4 millions dollars at carl's face and buy the actual commerical entitty called rebol technologies. Like they bought sooooooo many other small companies. Then they would have full control about rebol product and CArl would have nothing else to say about it. IF rebol was of any interest to them they would have done that move like 8 years ago when rebol was at its pick of interest.

And in this particular case of Microsoft wanting to make their own blend of an other opensource language, I can give you one very concrete of what you say isn't true. Microsoft intented in the early days of java to make their own java to burry the java from sun. MS J++ was a muscle marketing supported thing they poured in it millions of dollars and in the end it was a faillure actually J++ is integrated as eventual language for the .NET plateform but way less used than the oracle java, since it's only for the windows plateform. Even the openjava isn't used as much as the oracle java. and openjava is supposed to be the main stream GPLed etc...

8-Oct-2012 5:49:13
if it's all about money brian why don't we do what was done for blender? we organise a foundation call for donation set a limit to reach and buy from carl the 100% control of rebol. That way we acknowledge CArl's 10 years of hard work on rebol and allow him to take some benefits from him for his retirement days. We can even make Carl an honorary member of that foundation allowing him to keep proposing enhancements and schemes for rebol and have some how a word to say on the futur of rebol.

Why we don't do that? because we can't organise anythiong and we are not willing to organise stuff. This community always was all about waiting the God's good will gesture then commenting it.

8-Oct-2012 7:04:14
Shadwolf - and i think, that you are pretty much wrong. The real thing needed for any product to succeed, is a momentum. REBOL had a momentum, but it was wasted with strange limitations e.g. /Shell, /Library, ODBC, https being part of commercial licences, hence keeping REBOL back from adoption to by many ppl. Then we saw commercial IOS "groupware" road (btw - I liked IOS very much), and then we saw periods as no update release of /View for some 12 months or so, and nowadays R3 for 18 months. And users? What could users do organise here, with zero chance to have sources in hands?

As for donations, etc. - there will be probably different level of money needed to eventually fund Carl, who resides in US, and Doc, who resides in MonteNegro. And btw - Red related funding is accelerating. I myself am sending 50 EUR/Month for 6 months, and there are others too.

So - the community is organised around Red now. The community will get organised around any project we like, so I expect that the community is going to be organised even around R3, once released. Don't forget we are still in a waiting mode ...

Brian Hawley
8-Oct-2012 8:15:23
Shad, the "It's all about money." was referring to the process of requiring money and distributing it that goes along with a commercial license (that statement was in the context of an analysis of why copyleft/commercial dual licensing requires copyright assignment). The rest is not about money, it's about being able to do what we need to do.

Nonetheless, if that's what it takes, sure, donations. Remember that Blender was a fairly established product with fairly large organizations using it, IIRC, so it is unlikely that a one-time pledge drive would get the same results. A more ongoing not-for-profit organization would be more likely work for us in the long run. We'd get more donations as we get more users.

8-Oct-2012 8:59:43
Bill Cosby said: "I don't know what the secret to success is. But the secret to failure is trying to please *everybody*."

(Supporting his point, I generally don't find him to be all that funny as a comedian.)

We've now waited a week on the debate instead of just taking it as GPLv2 and being happy. I would have been. But it looks to me like shifting to LGPLv2 for the kernel matches the intent more closely...and allays some fears people have as it means the copyleft isn't "contagious" into projects with embedded Rebol interpreters.

The OpenOffice/LibreOffice or KHTML/WebKit stories may strike some as dinosaur wars that would have panned out better with a carte-blanche license. In their alternate reality, we'd have something even better than Chrome (and flying cars) due to the fact that people could spend time developing new products instead of re-implementing things just because they were worried about license.

Personally, I don't buy it. Open Source efforts are ragtag groups and needed leverage against commercial entities. I guess you'd have to find the original developers and ask if they have any regrets? But as Linus Torvalds released Git under GPLv2, he must not have felt copyleft was some kind of regrettable mistake.

Mezzanine under at least the same license as Red (BSDv3) so they can ship it in their distribution—and BrianH doesn't call it quits. This should discourage fragmentation between the two it sounds like people would like to have them compatible wherever possible.

It's easiest if there's no contributor license agreement, and RT's last re-licensable variant is the one before the first LGPL commit is accepted from the public. I think this simplicity is desirable, but things could start with an agreement and drop it later...the reverse wouldn't be possible.

I've gone from being indifferent about whether automatic compatibility with LGPLv3 and GPLv3 codebases is important to thinking it should be allowed by the license (just discouraged by convention).

But I think it's now time to let Carl make a decision. Those who can't work within its boundaries use something else. If you want to start a Kickstarter to buy out RT and make it MIT/Apache, then start it once the source is released...and try to hit the target before the first non-contributor-license patch is accepted.

8-Oct-2012 9:39:44
pekr-> And users? What could users do organise here, with zero chance to have sources in hands?

no pekr in the "it's all about money option" the users you me everyone on planet earth donate to grant the foundation the author rights on rebol. So don't say that we will not have the source in hands.

And sorry but apart modifying directly source code tons of other things could have been done by us like, documentations, polishing rebol based stuff like cheyenne! etc... 100% of the rebol based productions are one shots from lone gunners and that isn't the way you can call a community organised to support rebol and make it widely known.

And the worst error this community done was to shut themselves into the blah blah box called altme. trying to follow the history of a conversation on altme is an insane task because all the comments /talks about one subject are aglomerated into it. because if you don't register and comply with what the admin wants you are banned.

8-Oct-2012 9:49:20
pekr -> go look at kickstarter you will see when the topic is of anyinterrest magically millions of dollars apears as donations.

Blender foundation bought the source code and author rights from neo geo paying 150 000 dollars collected from people free will donations.

We wasted every oportunity why we would not waste this one and on top of that half of the competent people are gone and will not comeback if there is not sign of serrious plannings on the leading of rebol project. The remaining half will be divided betwin red and rebol.

As for the magically new commers that will do what you can't or don't want to do... I think this is a nice dream but that will not happend in this dimension :P

But to apeal people you have to show that rebol opensource will have a futur that doesn't depend on a select bunch of lazy guys that will have better things to do than spending their time on rebol enhancements.

In the end what I fear is that the opensource of rebol don't change anything that it will be still an eratic chaotic project that people do when they have nothing else to do.

8-Oct-2012 9:58:31
brian no blender was a commercial close internal tool from neo-geo.

The apeal of blender was "neo-geo is bankrupting. there is this internal tool called blender that allows to model 3d shapes and do games and videos. We need your donations to buy it from neo-geo. the counter part will be to abandon it to public domain enhance it and make it a free professional tool as serious than the other ones (3dsmax, maya3d etc...)"

Their wasn't previous community using blender since it was a neo geo internal tool... What apealed people is 1) the seriousness blender foundation shown in their futur perspective of evolution for blender.

2) they disclosed every peny they recived (and continue to do so) they show where the money collected goes and to enhance what.

3) the promess of having a free professional level 3d modeling / rendering tool on par with the other big shots. This is for example what The gimp always refuse to say and mostlikely that is why photoshop is still the reference in image manipulation area.

rebol open source ? yeah! great! so what ?!

8-Oct-2012 10:11:04
Sure my personal taste is to say that r3 have to be as close in possibility than r2 was or even better.

I don't want a lua like VM I don't want to code in C to use my rebol script and I don't want rebol to be just an easy way to extend my C softwares.

But I want my rebol scripts to be compiled (and not packaged). In that scope Red is an interesting evolution of the rebol/sdk concept ... and rebol3 will not have a rebol/sdk and have not it. So yes instead of seeing two interesting projects fight one against the other I would like them to mutually feed.

Basically rebol is all about parse. I remember the early days when Carl was saying "With rebol anyone can do his own dialect to reflect his work process". Well 10 years later most of the people don't know own to instinctively use parse at high level. parse have to be better understoud to be better explained.

8-Oct-2012 10:14:55
^-- Note: The above comment stating "rebol is all about parse" is not from me ( But it's a rather strange choice for an impersonating remark.

(If it is making fun of me, I don't get the joke. Over my head, or glitch in the Rebol Blog Matrix?)

8-Oct-2012 10:44:51
sorry Fork it's a comment from me ... I wanted to start it with (at) Fork was to fast and put Fork in the name: field instead of mine ... I couldn't apologize earlier because of the anti spam system of this system forbiding me to post further.
Brian Hawley
8-Oct-2012 10:47:57
Yeah, Fork, that doesn't sound like you at all. Weird.

If we are to pick a copyleft license, be sure to pick one that isn't prohibited in major app stores the way the whole GPL family is. As far as we can tell now, development seems to be heading to mobile platforms, which are mostly based around app stores, and desktop development is following that route as well (fortunately not server or web significantly, yet). Make sure that at least one of the licenses we choose is allowed for use on the iOS, OSX, Windows and Windows Phone, and Steam app stores.

This is one of the situations where a commercial license would actually work, regardless of other arguments against such a license. There are also popular gratis and commercial development tools for these platforms that are based on otherwise open-source development platforms, so with the right licensing it is possible.

Note that the Android app stores don't tend to disallow copyleft code, so there's no point in checking them for restrictions and going by that.

8-Oct-2012 11:04:17
(at) BrianH settle down I said it wasn't intended ... so don't pick on useless fight.

if I had to impersonate someone it would be "what did he smoke" cause he is funny and bandoned to public domain licence exemption of any kind

Archy will prevail :P

8-Oct-2012 11:05:50
I find such appstores discriminating. Would avoid them if there are other opportunities. Or port and be greedy, like mono touch. Also: polish your objective-c, it may be the only choice again.

If Carl want to use it in his workplace, it should be GPL2. If his company uses it, they will have checked this tainting problem. They do not worry. Apache is nice to get in some markets. But it would actually collide when the workplace codebase is much GPL.

If Brian wants to take his meazzines back, he cant, R3 uses it per MIT. Which is compatible. May he hate real license traps. ;)

Dual license is not about money and transfer. It is about meeting special circumstances. Mozilla is dual, Libreoffice. Not for money, to be able to link to both ecosystems. No need for transfer.

Giving money is a special circumstance, and you get a special license for it. A very special, there is your name in it.

Maybe it should be called multi-licensing.

Same way current community could get special licenses for their legacy needs. Like with the list by W^L+. But for non-GPL licenses and tainting fears someone should pay a real lawyer. For templates. And heresaying about braintainting should be examined too. This is why i hope R3 can piggyback on a company, which has such procedures in place.

Dream-contributions: New members will not be as attached as the current community. They will not spend because it is rebol. They will also be confused by people who hate GPL. Blender survived because of it.

Needed community: C-programmers to fix efficient c. Boron and orca have proven they know c. By complete interpreters. They like GPL. Red is at: It is time we implement basic string support so we can do our first, real, hello-word. ;-)

Joking: If Forks pedigree is real, we get another c-dev and a group where he teaches c based on r3-source. If Bjarne shows up again, the next big thing is C+R+, this time done right :)

If Doc has to choose between red and Cheyenne, i expect some slowed red-development. Topaz-dev does not fear tainting. And can outmeazzine Brian, if needed, IMHO.

It will fly rainbow dashs around other interpreters.

Altme-lawyering: From previous blog: “Ladislav has reminded me that the stuff I've been saying about linking restrictions and such depend on the GPL being enforceable in your jurisdiction, or at all”. If you have no valid license, you have no license at all. Bad idea. Drop project, pay penalties. Quite pricey with the right jury. If that is the level of community legal, i don’t belive in tainting too. (But IANAL too).

8-Oct-2012 11:31:57
I'd heard of the iPhone app store GPL thing, but I didn't know Microsoft decided they could get away with it too. Unsurprising. :-/

"Microsoft is no mere resellers of GPL-licensed software. It actively reproduces and modifies (through inclusion of DRM signatures) the software in its store. To gain the right to do this, it is necessarily a licensee of the software, and as such subject to the terms of the GPL."

Yet remember it's not just the users they don't want to know about the changes. They don't want the developers in on it either. I don't understand how people who care so much about technology seem so ready to roll over for this kind of nonsense. :-/ I have a carrier-unlocked Galaxy Nexus.

As per Omei: If you're afraid of how the rules of walled gardens might come into conflict, I suggest giving serious thought to if you should care about pandering to that. Do you personally want to live in a world where you can't make your own decisions of what apps you can put on your phone, even ones you wrote yourself?

Further: there are many places to fit into the toolchain of application development besides the runtime (e.g. Machinarium). Dialects could arise that were useful for iPhone development, perhaps even generating Objective-C. A lot of the app complexity is server side these days anyhow (not covered by the clause), and getting a native look without using the native language/tools is a pain.

If the Rebol tools infiltrate and bring good ideas, then it throws more fuel on the fire for angry developers to rally against the B.S. policies of these app stores!

(at) Omei: While I have become decreasingly confident of declaring what is "real" or not, I do run the Austin C/C++ group. :-)

8-Oct-2012 11:42:54
Brian, where did you get that steam-idea? Google says they are happy with it.
Brian Hawley
8-Oct-2012 12:15:27
Shad, wasn't picking a fight, I just didn't see your comment :)

Omei, I have no idea whether Steam has any restrictions against copyleft code. I only mentioned it because it is a popular app store, one which is branching out beyond games, and I don't know what its terms are. Do you know?

Never said I would take my work so far back (I know what MIT licensing means), just that I wouldn't assign copyright. I didn't even say that I wouldn't contribute to a copyleft project, just that I would have some legal difficulty looking at the code of one, so contributing might be a bit difficult. I'll do what I can.

Yeah, the app store thing is a big problem for strong copyleft. I don't think it is ethical to distribute software that way, but it's not my call. If it were up to me we wouldn't have app stores with those kinds of restrictions. Unfortunately, we're stuck with them for the near future.

8-Oct-2012 12:35:21
steam is less popular since EA decided to fork and do their own game store called ORIGIN.
8-Oct-2012 14:58:28
Fork, so it seems you might be almost the only one to suggest GPL, yet what you suggest is to the rest of us to go elsewhere? Man, where have you been last 16 years since some of us started to follow the REBOL project, to tell us, we should move elsewhere?

And shadwolf, stop accussing Altme of being a nail in a REBOL's coffin :-) So you suggest us to go Blender model? Fine - now tell me, how many products you actually bought from RT? Because as for me, I bought IOS, few SDK versions, some /Pro versions, yet I doubt, that this community has real power to collect something like 150K USD to buy off sources? That is imo very unrealistic?

I really hope Carl will resolve this situation soon, whatever the solution is, because it starts being really tiresome. Then we either adapt, or leave, easy as that ...

8-Oct-2012 16:02:25
(at) -pekr- I didn't say "do what I say or go elsewhere". I rather clearly said: "it's time for Carl to make a decision, and then people cope with it or go elsewhere". Because this cannot go on...not even another week. Which is (if I am not mistaken) exactly the same thing you just said!

Yes, I would be a bit personally disappointed if Carl didn't make a stand with the "free as in freedom" movement. I've bought into several elements of that for matters of principle, and I think about kids and what kind of future they'll live in if we don't make some stands about how technology is applied. Maybe you don't think there's ethics at play, but I do, and I'd like to be on the right side of history.

I might be in the minority here on this blog in caring about the issue (or at least in thinking there's value in addressing it in the form of licensing beyond carte-blanche). One should consider that anyone who does care would have probably not taken a first (much less a second) look at Rebol. So they're not in this conversation posting, and won't be until they see code and a license they'll tolerate.

I'm ready to believe the project could gain relevance among developers who would rapidly become far more relevant than the skeleton crew that's left today. So I'm truly curious about the emphatic naysayers who don't believe that...why the passion? It reminds me of the people who want to make changes in life and then all their "friends" turn out to be the ones holding them back from the transition...putting ideas in their head that make them insecure, and compromise their own vision for the comfort of the group. (Happens all the time, actually.)

I'm genuinely wary of corporate co-option that might result in a circumstance parallel to the "when are you going to release the source!" delay we are experiencing right now. Isn't this situation bad enough? Don't you want to be sure it will never happen again, with someone who will consider the weight of your opinions far less? (Apple, Microsoft, Google...)

Of course, if it were more liberally licensed I would accept it and start going through the source. It's simply not what I would do if I were in Carl's position...if the only reason I was doing it was to please the existing base. I'd want to pick a license that fit the spirit of the post this comment thread has hijacked.

I do present an outsider opinion. But I've built some stuff that's a lot more likely to bridge the gap to adoption than a lot of what's out there, and I can make more. It's going to take people like me to evangelize, and it's going to take little projects like Rebmu or Rubol to whet people's appetite for an odd language that is oddly powerful:

Last I checked I don't get any more vote than anyone else: which is to post some reasoning on the Interweb. If you're mad at me for making persuasive points and raising valid scenarios to be concerned about, then please focus on those rather than your longer term of experience in the existing Rebol culture. (Sorry to be snarky, but...that could easily be considered an indictment of your judgment instead of a reason to consider your opinion weightier than mine!)

8-Oct-2012 19:37:11
(at)Fork - Let me get this straight. Carl "officially" announced that he was going to release Rebol as open-source (now/date - 25-Sep-2012) 13 days ago as of this writing) and you say Rebol cannot survive another week without going open source? How long has it been closed source?

I can only speak for myself when I say that I am genuinely eager for the release of R3's source. I've never delved deeply into C, but I've dabbled in it a little. Don't know if I have much to offer at that level, but more likely I have a bunch of mezzanines that I could offer, some protocol work, and some GUI widgets. I'll be relying on the parts of the community that have the C experience to extend the system to a point where my contributions will be more meaningful.

However, the choice of OS license is the most important decision that Carl has probably ever made regarding Rebol, other than developing it in the first place. I'm sure Carl feels the weight of this decision, and he is not making the decision lightly. In things like this, Carl is the definition of "intentional". When I worked at RT, I remember Carl pondering the name of a mezzanine for days before making a decision on which word conveyed the meaning the best, and the most elegantly.

8-Oct-2012 20:27:47
(at) Bo: While it's not the end of the world to delay more, I think from here it is diminishing returns. And the Interweb/Twitter natives are getting would be a shame to waste whatever spark was ignited.

(I myself *do* know a lot about C/C++, and I had set aside time and energy this past week for the Rebol release, but wound up frittering that enthusiasm away on license debates and answering StackOverflow questions instead. :-/)

To reiterate: iOS and Windows app store have bans on the GPL for oppressive reasons. It is indeed a powerful ban on locked mobile platforms... because it's the only way to get an application installed on the device you paid for, that monopolizes your limited pocket space.

Right now the desktop variants for Mac and Windows let you install programs from downloads off the web (or a USB thumb drive from a friend, or a DVD, or whatever). But don't expect it to stay that way if smart developers won't make a stand and help educate the average user who doesn't know what their options are. Situations like the dark ages do arise...enlightenment can be lost if one is not careful.

But these facts are on the table. Some have expressed their desire to push Rebol's adoption into those environments with more liberal licenses despite (or without) misgivings. Some have given cautionary tales for why not to do it. But nothing will change significantly from here, so I do not see benefit in waiting longer.

I can—however—see a loss of momentum if there's no decision soon!

8-Oct-2012 22:21:27
I Keep going back to Carl's "Definition of Simple"

First-off. this is not a blame-game "WE DID THIS, me included"

It seems as though the most vocal people within the community who commented publicly really made Rebol very difficult for newbies (programmers/followers) and for Carl himself without personally recognizing it.

I believe without a doubt this was totaly unintentional.

I found out about rebol online when Carl had redone the code he and a friend was working on. Carl took what was complex and had made it simpler to understand and program in and Rebol was born.

I got serious about learning it in 1996-97 when i found an article written up on it in a computer magazine. I found a small community online and then i bought the first book released. And then i noticed my biggest problem. It really was not documentation because if i could not figure something out i would imatate other languages objects/functions/classes with string-series-parses. This i realized was the Dialect.

The problem was too many O.G.Rebolers would not keep it simple. There code didn't much look like Rebol script but strange Guru code. Instead of focusing on Rebol scripting for all in discussions the topics was about personal frivillous details a select few only could appreciate or comment on.

8-Oct-2012 22:22:12
Those posts whent on forever and when complained about, another new yet segregated public community was formed that i and some others seemed never able to register with properly to get in. So we all whent away.

And guess what guys, your doing it again.

Carl speeks. We all listen. And then you guys go way to far off topic. If you dont agree then just look at the size of your posts. It seems some still don't understand Rebol or Carl.

He opened it up. He told you his wishes. He spelled out his vision for rebol along with basics of a liscence he would like to have and .........

Here we go again.

Your taking Carl's simple and making it very difficult to go forward because you want layers of "modern" liscence ideas instead of Carls vision.

And you know what? Every time (after about a year or so) Carl gives in and give the O.G. Gurus what they want and the Rebol code can't move forward unless it's totaly added/amended to or re-written.

And added we did. Tons of focus on Rebol was commited to personal spinoff web-sights. Don't get me wrong, nothing bad about that. But motivated and tight communities would have found a way to post on . Thats the first place eyeballs need to go to make Rebol noticed. You know Carl let us do that while suffered bad.

And once again he was left with the innitiative to make a difficult problem better.

I think in some ways Carl "is" tired. Trying to get programmers to understand he wants a "simple" Rebolution but they just can't help but to take rebol and complicate it through "modernization" (spinoffs that aren't == Rebol scripting/gui language to work with) . Seems like no one is willing to focus long enough to make Rebol for Rebol but Carl himself.

And thats why carls working on something better. And thats why thee Rebol languange will allways be known as one of the greatest experiments in programming history.

"This experiment called REBOL has taught me quite a lot, and more recently in some of the work I've been doing, I've had the chance to contrast my ideas (yet again) to the quite different world of modern computing (pick Linux, Windows, XML). "

"In recent months I've had to dive deeply into very large piles of "modern code"... not only specialized programs (like ffmpeg and gstreamer) but major libraries of huge GNU code-bases that provide core functionality (Linux, pick any lib.)"

"The problem here is that there's no unity of language design, and in fact since most domain-smart programmers don't know much about language construction, you get something really quite ugly and nasty."

And if they can't get it, then just give it to them......

"In my opinion this problem can be solved. And yes, you know that as the designer of REBOL I offer its main principles as a good *first draft* of such a solution.

"Ok, so there you are. Simplicity defined. You no longer have any excuse. The world needs simplicity... and frankly in many more domains than just computing.

I wasn't sure that I could ever write this. But now, with the experience of the last six months, it has become clear to me."

Carl dissapeared for a year and then defined a sure simple experiment. Open-source Rebol

Will they "get it" or will they make this difficult for me too.

8-Oct-2012 22:30:33
altme isn't a nail in the rebol's cofin pekr it is the rebol's cofin the faster the community get ride of it and organise around a free speech tool where ideas are truely discussed without the the need to convince stupid and lazy self proclamed gurus that have only titles as war medals then you will get a rise on dynamics around rebol. Face it pekr altme have 600+ users registred only a a bunch of 20 people is active on it!

You can say I'm vulgar but I'm the most honest guy you will ever see.

If this isn't the sign that altme is conceptually wrong what it is?

USSR perestroica was more open and free speech oriented than altme is...

And as the productions altme allowed to create I can give you one very important faillure RMA/GUI.

Did I made myself clear pekr?

as for the topic of this discussion if _BSD / MIT is the licence 90% of the remaining audience wants then Carl have to follow that. If it's wrong then Carl can still reboot the project with a rebol4.

if it's right then it will grant a futur for rebol and that is what the majority want. Pekr we don't want lazy self proclamed bunch of Gurus to dictate our conduct and tells us what is right and what is wrong if that is the terms of the deal Carl you take it and wipe your ass with it. Plain and simple!

8-Oct-2012 22:37:07
rebol is such a waste of talent that it is disgusting. It creeps my guts out to see that all this community can do is kill any initiative and whine endlessly!

REbol is needed by everything around a CPU and you are trashing it for your own personnal conserns.

Carl listen to me! listen to the vast majority of your community make a legacy !

Or simply kill rebol once and for all we have better things to than having endless void discussion about what rebol could or couldn't be.

Carl you made the move for the openning you have to trust that this move will not go to waste like we trust that rebol deservs a better futur than the void of oblivion.

Carl you gave us a revolution now give us freedom!

8-Oct-2012 22:50:02
Pekr I didn't purchased anything from rebol technologies I trade my work force and brain cells to Robert Münch to write him in 4 full days a special adaptation of my own work MDPGUI for his IOS personnal use. And for that work I was paid with a rebol/pro licence. Which is my way to show my respect to Carl effort and as a side note I will say I'm the co-writer of the best GPLed windows packer name grebox. I killed that project and didn't pushed it into a killer product to not cut the incomes from rebol/sdk that came earlier and which is less fun than grebox.

Was I wrong sure probably as much as when I said RMA/GUI was a dead to be project and get expelled from rebol3 world while Carl was looking away. P ekr since you seems to want to pick a fight I will remember this audience that you can't write a single line of code in rebol so STFU. I don't understand some things but mostly because I wanted rebol to remain a fun thing I do on my spare time. And this is exactly the doom of rebol community too many people are like me around here.

Do you sincerely think that blender, linux kernel, kde, gnome2, gnome3, firefox, opera, thunderbird, inkscape, GTK+, the gimp, etc... where done by a bunch of amateurs on they dead times? serriously?

Then you are wrong and anyone that managed a software project knows that this is the way to go.

8-Oct-2012 22:54:17
I have one serious ask that bother me. Why rebol never was adapted to a robot system?

Isn't parse a great way to manage cognitive tasks?

8-Oct-2012 23:01:50
rebol is intrinsictly linked with self reprograming therefor it is IA material and exactly noone want to see it that way!


Personnaly I would say people are to much about talking about what is wrong about rebol and too less about what they can invent with rebol. Like area-tc the ability to interactively draw colored paterns text was considered impossible by many in a pure draw/agg and parse.

8-Oct-2012 23:14:42
Actually the last question is the only part which sounds serious, and it is OT ;)
8-Oct-2012 23:16:25
The robot question.
9-Oct-2012 4:12:54
Shadwolf, I can now imagine why you were banned from Altme. It is because there is a limited number of comments kept by the client and all of your comments would push other running conversations out. ;-)

Must be frustrating though, being thrown out (expelled for life and not just for a cooling down period?).

Personally I would probably have turned my back to the community completely, yet you decided to still love REBOL.

I ask myself What will you be doing when the REBOL license decision finally gets settled?

Build that REBOL powered robots? (REBOTS) That would be fun having.

Giuseppe Chillemi
9-Oct-2012 9:42:52
I have read many licenses. GPL2 is not good because REBOL can transfer part of its source and components via internet. So you have to transfer the copyright too and make it available. Affero GPL cover part of this problem but does not suit completely. Apache 2.0 seems the best by now.

9-Oct-2012 10:07:13
My futur what I will do with rebol depends on the kind of licence adopted and on the kind of support the futur devteam of selected few will give me.

a robots powered in the tinyest possible linux + r3 would be fun to do! But to do so I will need to base it on an ARM CPU (cause they are the cpu for mobile solutions) and so far there is no r3 for arm plateform. sure I could do my own mini OS in C then integrate in it rebol host and develop the artificial intelligence engine in rebol. I could even use a robotic kit like lego mindstrom hack it and spice it with a rebol layer for the programation backend etc etc etc...

I'm curious to see how can a artificial inteligence benefits from the data = code reflexivity of rebol and from parse. I have in mind things like a fuzzy logic engine done in parse mixed with reprogramming that could be a ton of fun.

If you want ideas about what kind of serrious project you can do with rebool just ask I have a ton of them.

9-Oct-2012 21:35:18
Shadwolf, shadwolf, shadwolf - please stop acting like a troll here. There is no need to spread false lies, like me not being able to write single line of code in REBOL. My clients know you are wrong, those to whom I worked as a tester know you are wrong. My own code quality sure is not on par with any guru here, so I would not expect it from being accepted into general codebase,but you seem to have very limited imagination of the usefullness of stuff one can bring to the community in other areas than the code itself.

What you completly missed is, that my question was pretty much realistic. I invested cca 3K USD into REBOL/Red combined. The reason I mentioned it is, that you suggested the model, where the community was supposed to gather 150K USD, to buy-off the sources. So I asked you, where should we get the money, and if e.g. you ever invested into REBOL cause financially, hence not only via code? I simply found your proposal unrelistic, that is all. Yet instead of an answer, you pick on stupid infights?

As for ARM and R3 porting - I do remember R3 was ported to AmigaOS, and I do also remember some mention from Carl or close to Carl, that some intial ARM port was done too, not just released. And btw - while Red is still not much usefull yet (give it 3 months), it works on ARM already.

Scot Sutherland
9-Oct-2012 22:35:53
Wow! The community gets what it wants and I'm really having a hard time grokking what I'm reading... Speechless really.

I love what you wrote, Carl. Just about as perfect as an open source license tailored for REBOL can be in my book. I would join the few who suggest that you simply get it put into a legal document as is if you can do so.


10-Oct-2012 0:55:54
Scot +1
Giuseppe Chillemi
10-Oct-2012 1:19:06
TypeScript has just been released under Apache 2.0 Licence from Microsoft.

It seems the current trend.

10-Oct-2012 8:21:01
An own license is a problem when reusing others code. Like decoders. I am not able to say if selfmadeX and apache or GPL or something is compatible. I look at some list where lawyers lurk.

Apache is liked with big corps. They have other means to vet source before releasing. Maybe there is some trap? If you own a patent and the source somehow could be seen as using it, what happens?

So, how will GPL-sceptical users react if one suggests Apache? Same battle?

An Idea about GPL:

Bash-Shellscripts can call both GPL and non-GPL binaries due to armlength exception. Bash itself is gpl. How about mimicing that? Messaging is similar to pipes. Write a shell which can launch and stop binaries, manage pipes; and remote ports are programmed the same.

Ad a permissive load/mold for message-exchange. For multiple languages, like json has. Add rebol encoded in json. rebol has #[type! data]. json has [“type”: data]. Close enough, no big library needed, javascript happy. Restrict to load/json, rebols happy. Clients can pick rebol source, jsonized, or something binary for communication.

Shell manages pipes. Binaries can broadcast to others through the shell. Like Erlang does. Real pipes, network, in memory, same code. Improves the design, because people start early with messaging. Easier to merge spinoffs at message level, than merging at c-level.

Cheyenne looks like a place to start. It can manage other processes and communicate.

If Carl opensources R3chat too, we have syncing between devices. Mix cheyenne and R3chat as the frontend in a vm-image, instant cloud.

Problems left: tainting, embedded, to complicated. What else?

Tainting: “deriving” by GPLers here means copy/paste. Not learning. Find some statement all trust, or add brainpath-exception.

Embedding: Needs performance. This Shell is overhead. But needs even more performance/low memory, so interpreters are a nono anyway. Big libraries too. So its red on its own, r3-libs do not help.

To complicated: R3 needs a framwork for messaging/protocols/syncing/process-management anyway. Leave that out, and accessing the world is not easy. Put it in, and it is as easy as /ios.

Brian Hawley
10-Oct-2012 9:11:13
Apache is liked with big corps. They have other means to vet source before releasing. Maybe there is some trap? If you own a patent and the source somehow could be seen as using it, what happens?

Apache is used by big corps specifically because it avoids patent traps that other permissive licenses don't. Remember, big corps don't want to be trapped by other big corps any more than we do.

If a big corp, or any contributor for that matter, has any patent that covers anything in the code that might be infringed by using the code, the Apache License grants use of that patent. If anyone tries to sue the contributors or any user over such patents, they lose all patent grants from all contributors for the whole project. So, free use of related patents, with a little defense against suits.

If you use MIT/BSD licenses, you don't get the patent protections, so you're more able to get trapped by patent tricks.

So, how will GPL-skeptical users react if one suggests Apache? Same battle?

Depends on what you mean by GPL-skeptical. If you mean users who are skeptical of the GPL and copyleft licenses, since Apache is not copyleft they should be OK with it.

If you mean GPL-friendly users who are skeptical of non-GPL licenses, it depends on which version of the GPL. Apache License 2 code can be incorporated into projects with any variant of the GPL 3, including Classpath, GCC, LGPL and AGPL. GPL 2-or-later projects can also be combined with Apache code under the GPL 3. GPL 2-only projects can be combined with Apache code with permission from the copyright-holders of the GPL-2 code. Any version of Classpath or LGPL can be combined with Apache code, though if they're version 2 or earlier then you'll want to put the Apache code in another source (for Classpath) or binary (for LGPL) file. The main reason for this is that GPL 2 licenses have weaker patent protections than Apache does, so you have to use GPL 3 licenses to get the same protections.

10-Oct-2012 10:13:44
Patents: exactly. If you reuse apache-code, you are save. But if you contribute to apache? If it touches your patent in a surprising way, every bit you contribute can invalidate all of your apache use. Or your patent.

GPL-skeptical: People who are easily worried about tainting. If they are worried about GPL viral, they would be worried about apache viral too. After enough heresaying. If they own patents, then no contributions, using yes. BSD on stereoids. Or do expensive vetting. Which is fine with own legal, not for small developers.

BTW apache sees GPL2 as compatible, FSF not. To add some confusion :) “Despite our best efforts, the FSF has never considered the Apache License to be compatible with GPL version 2, citing the patent termination and indemnification provisions as restrictions not present in the older GPL license.“

10-Oct-2012 11:40:15
I've never even heard of TypeScript until today. Just looked it up, and c'mon...there's a ton of those kinds of things: simplistic non-optimizing JavaScript generators that add two features and a big ol' compile step to making a formerly-easy website. Big deal; probably took them all of a month to write. Go ahead, read the /src/compiler directory. Just read it...seriously:

I hardly think the license choice on something like that is of relevance. You're comparing Rebols to...Apples. :-/

(I've dug through Lua, also. At one level it's trivial, but I will have to applaud the effort to standardize something like that so that everyone doesn't invent their own bigger, buggier, more inefficient implementation of the same thing...which has happened way too many times. So it's good for some purposes.)

If for reasons of driving adoption in the business world, a permissive license is chosen for Rebol, Apache looks like the way to go. But if that winds up being the decision, don't go crying to Carl (or me) when some corporation builds a Rebol-derived product you like, and you're on forums yet again trying to get them to give you source. Even if they say they will "real soon now", without a legal obligation you can see how the process can drag out.

Writing a new license is probably more trouble than it's worth, LGPL implements the intention. I will reiterate that Apple was perfectly capable of taking a LGPL codebase, tweaking it, living up to their release obligations to publish their modifications when they shipped Safari. The code was used to build Chrome (and actually patched back into Konqueror as well to replace KHTML).

But apparently that doesn't matter to many of you because Rebol is too far behind and dead to have that leverage. I mean KHTML was just a timeless work of art, wasn't it? No comparison... :-/ ("Gee, thanks for the vote of confidence...", thinks Carl.)

I haven't seen anything new said here in a while. I'm of course repeating myself, and getting tired of hearing myself talk. Can we all agree to shut up and just turn it into an A vs. B decision, based on a question of perspective?

Question: Does Carl care about having Rebol runtimes in the Apple and Microsoft app stores more than he cares about forcing the "give some, get some" principle? Is he willing to make the lives of some members of the community more difficult because they target certain business scenarios, "merely" for the sake of legally enforcing that any Rebol-derivers use an open process regarding what they did to the code?

I don't personally see why anyone with technical savvy would be signing up for a closed future, and I fly the Linux/Android flag. My vote is known, and I have pointed out that there is no chorus chiming in with me because "my people" have been a historic hard sell to look at Rebol. They won't be such hard sells if it's LGPL.

10-Oct-2012 12:05:07
P.S. Should have remarked on the hypocrisy that the browser on the iPhone uses WebKit (an LGPL derivation), yet you're not allowed to use LGPL libraries in your own iOS apps...including WebKit derivations.

Upstanding citizens of the technical ecology there at Apple! As moral and decent as Jobs himself... I sure want to be like them when I grow up. :-/

Brian Hawley
10-Oct-2012 12:08:42
Omei, it doesn't invalidate your Apache use or your patent if you contribute to an Apache-licensed project. All it does is grant use of your patent to the people who use the Apache-licensed stuff in the project you contributed to. You can still charge people for your patent for using it outside of that project. It's basically a way to prevent software patents from killing a software project the way they usually do. Note that GPL licenses and most other copyleft licenses contain similar patent provisions. MIT/BSD/etc. licensed projects can get contributions that would make the users vulnerable to patents, but Apache or GPL licensed projects would not be as vulnerable.

Fork, I only brought up TypeScript because it is the most recently released open-source language from Microsoft. F# was also released as Apache 2, as was Razor. Their other open-source language implementations (Iron*) were released back when they still thought making their own license was a good idea, so they're still MS-PL. All of their new (non-Office) stuff is released under Apache License 2 now.

I forgot to mention Lua (BSD-licensed), though it's more widely used than half of the ones I did mention. Whoops.

I have no interest in comparing things like web browsers and office suites to programming language tools. The situations are way too different for it to really be comparable. It really is easier to compare TypeScript to REBOL than it is to compare KHTML or OpenOffice. For user-level applications I generally am more in favor of copyleft licenses, depending on the circumstances and the licenses involved.

Brian Hawley
10-Oct-2012 12:13:52
Omei, the Apache License is not viral, so no worries. You can incorporate Apache licensed code into non-Apache-licensed projects without affecting the license of the other code in the projects. You can freely read and derive from Apache licensed code.
Brian Hawley
10-Oct-2012 12:36:17
Fork, I also hate the app store thing, especially when they have to enforce stuff with GPL-incompatible DRM, as most do. The hypocrisy just makes it more annoying. It really is too bad that this is the situation that we are stuck with for the moment, and likely for the next decade at least. I'll be happy when that changes.
10-Oct-2012 13:28:11

Web browsers are quite like rebol, a vm with gui. webkit + javascript *is* /view 2.0, the most comparable thing out there. Please get that :)

Apache: Yes, but not contribute. My company has heard “apache steals patents”. And they have some. And then somebody picks only that patentrelated stuff, changes it freely, and our great invention is given away. Sorry about that.

Luckily that is ficton.

But i want to start some FUD. I think braintainting is FUD. I want to use the same style as you about GPL-tainting. Putting in some vague "but it will happen. Just read it my way!". Exaggerating some aspects. Imagine a manager hears such stuff, and knows only “apache forbids patents”. Could you be in the position as Carl is with GPL? Could some part of the community be in the positions of such managers? Is there anything believable, some legal post, a case where someone got in trouble with GPL and braintainting? Or is it like my apache-claims, after you have heard them from lots of people? (And IANAL; it could be true ;)

10-Oct-2012 14:37:28

If Carl uses a custom license, then there will be no preconceived notions. The parties involved will have to read and understand the license for what it is, not for what they've been conditioned to believe.

10-Oct-2012 15:02:01
Bo, their lawyers must read and understand. With standard licenses, lawyers have and have translated it to layspeech. And have made lists which say which licenses are compatible. Little teams like to save money for lawyers. They compare licensenames by the list.

Really funny if one wants to use code of multiple parties. Each license custom, each seems to say the same. But legalese has sometimes surprising meanings.


Brian Hawley
10-Oct-2012 15:31:36
In general it is a bad idea for companies with software patents, who want to enforce those patents on open source software users, to contribute to open source projects at all. This is because software patents and open source are completely at odds with each other (though they're sometimes helpful for defense). With some licenses it's legal, but it's always bad for the users.

Let's say that R3 is released under MIT or BSD.

Let's say that a company has patents and they do contribute to R3 some code that is covered by those patents. We would not be able to use their contributions without being subject to their patents (at least those of us in jurisdictions where these kinds of patents apply). This is what is known as "submarine patents". So, in order for R3 to remain free for us to use, we would not want to accept such contributions without a patent grant. This goes for Carl's use too, so it is not in his best interests to accept such submissions either.

As an alternative, let's say that someone else contributes patent-affected code to R3 - more likely, since almost all significant code is affected by a large number of broad patents, regardless of whether the author knows it. In order for us to use that code we would need a patent grant, or some kind of patent defense. Since MIT/BSD don't have either of those, we wouldn't want that code in R3 at all. Also, it requires that users of R3 have to do some expensive patent research.

Either way, we don't want patented contributions to R3 if it's licensed without patent protections. If your company has a problem with this, bad for you, sorry, and hopefully we won't get code covered by your patents or else it will be bad for us too.

Apache or GPL licenses help deal with this patent problem. For contributions from the patent holder, they make those contributions something we would actually want. For contributions from other people, they give us some leverage, though not as much against non-practicing entities (patent trolls) who don't actually use REBOL.

If R3 is licensed with Apache or GPL licenses, and your company doesn't like this because they want to enforce patents against us, please don't contribute affected code on behalf of that company or independently. We don't want it in R3. We don't want your patent lawsuits.

10-Oct-2012 16:02:07
This fictional company would not try to be submarine. It would be by mistake. The developer would not realize his code touches a companies patent. They would never sue about it. They would remove the code the next day. But somebody got it already, and now insists on the license. Now it must giving in, or drop all uses of apache. The company does not like such possibilities. So it forbids contributions by default. Because Apache is viral.

Similar to the argument against GPL. Only against contributing. Instead of against using. But all are for apache without worries. Do they not invent and have patents? ;)

Brian Hawley
10-Oct-2012 16:19:35
Again, companies that want to enforce their patents against people, rather than just defend themselves, are against open source or free software on principle. Nothing we can do there. Any contribution they make without a patent grant can only be seen as an attack.

Inventing doesn't imply getting patents. Patents are sometimes good, but in some whole categories of invention, such as software, they are bad and invention happens better without them. YMMV of course :)

10-Oct-2012 16:32:41
This is my last license commentary, and last time clickin' the refresh button on the 2^9 blog. I'll find out via Twitter or personal email if a decision is made, but no more here from me...I've run out of time for this debate. The anti-Fork contingency may celebrate now, I guess. :-/

I'll simply +1 to Omei's observation that there really is much more in common between a web browser (a full VM/platform) and Rebol, vs. Rebol and TypeScript (a throwaway preprocessor on top of an existing joke language). It's an important point.

As an ex-Microsoft-Researcher, arrite...yeah I'm interested and kinda happy to be informed about the switch from "Microsoft Research Shared Source license" for F# to Apache 2.0. But even that is still--in my mind--a whole different ball of wax as far as technologies go, as well as a whole separate set of concerns for the organization which is issuing the license. Carl is from the Amiga world--as savvy as Microsoft may be/have-been, the last thing he wants is to cave to the methodologies that caused all the tech problems in the first place!

(at) BrianH: regarding whether we have to accept things we don't like for ten years...I'll just say that "There is no fate but what we make." I don't think it's inevitable that the Windows Mobile and iPhone/iPad model is going to dominate. But it certainly will if people let it, and that whole "download and run from the web" ability--even if you check the hash, trust your source and want to click an "accept from unknown sources" button--may become a thing of the past. If you're not already on a Galaxy Nexus then's better here. (If I started a Kickstarter to buy you one and threw in $50 could we change this argument? :-/)

Businesses aren't the bad guys, actually; they're forces of nature...testing us to see what they can get away with. Google pushes button with privacy, and that's a whole 'nother conversation, but at least they demonstrate disruptive idealism with respect to the code. I'd be going after them with a vengeance right now if I thought Apple/MS/etc. were actually great fighters for privacy, but I don't.

To paraphrase and +1 Inetw3 by quoting V: "Truth be told, if you're looking for the need only look into a mirror..."

To Carl: I've not sincerely been addressing anyone here, because they already don't like me much--and generally have English as a second language so they cannot appreciate the subtleties--so I've actually been writing to you. I wanted to provide validation with respect for your work, and to reiterate that the long overdue missing piece for Rebol is an open process. Wanted to tell you (for what it's worth) that I affirm and believe in your stand against complexity, even at the byte-count level. But the licensing stand is important for the future too. We both have EE degrees, we both see more, and I'd hate to see all your good work marginalized further or see a legacy go to waste.

I end with: LGPLv2+ kernel. MIT/BSDv3 Mezzanine. If others have persuaded you to stray from your blog post's intent and throw the spores of the dandelion into the wind and see where they land, Apache 2.0 Those seem the only two options, and that's the end of what I have to say.

Being good, and being right, is better than being popular. Rebol has been good for a long time but the closed process (and the consequences on the timeline of development, 18 months of silence?) was clearly wrong. I've been consistent in wanting to bring the "right" to the "good". Rolling over for a planet full of garbage iPhones and all twelve Windows Phones is not the correction Rebol needed. LGPLv2+ is... or GPL2+ if you're ready to really break from your existing userbase and look for a new one (they'll learn cope with LGPL unless they're writing for unethical app stores or parallel businesses.)

Over & out.

11-Oct-2012 4:07:47
Language subtleties Fork: 'Over' means the other one can speak. 'Out' means you close the conversation. "Over & Out" is not in the book. So Fork is out, luckely we still have our spammers to inform us. Well Fork, I know you will be back here, promise or not, most of us here use English as second or maybe third language, this doesn't mean we do not get any of the subleties of your proze. Wonder how many languages you can have a conversation in?
11-Oct-2012 6:25:20
Pekr the amount of money you are saying are over 10 years or more and on two several project.

As for the money that I would or not send if we have to buy the source I'm sorry but you can't say I would or not send. Actually this eventuality is not even in the range of possibility.

Well as usual in rebol we have a big decisive annoucement that generates tons of talks and in the end nothing comes out.

we are 10 days past the promised date for the scheddule and in my opinion we will be in 2013 that we will still not have anything decided.

And this is exactly what makes a very bad image from rebol.

In march 2013 we will have a post from Carl "oh sorry I was so buzy than I didn't gave a damn about the ten thousand messages posted around the license type"

11-Oct-2012 6:39:30
Pekr your clients are unknown like your source code. They could even not exists that it will change nothing from my point of view :P

And for the record you like me trolling you that gives you the impression that someone cares about you and what you say :)

11-Oct-2012 6:46:48
Fork is there a mezzanine in r3? I though carl said that was a deprecated concept from r2 that gave him a ton of complexity and pain and that it will be removed in r3...

I'm against having 10 licences for rebol... is it so complicated to say as the majority of people still interrested in rebol want the licence for rebol is BSD/MIT. this is becoming rediculous.

11-Oct-2012 7:45:30
Shadwolf - I am really not important here. Better tell me one thing - you always was proponent of open-sourcing REBOL. Now Red showed as some alternative, yet I can't see you active around the project. Is it because you think, that it will eventually fail, as other clones? Or is compiled REBOL like language of no interest here? Just curious. Red is progressing each day, and if things go as we are used to with RT, before the licence choice is made, Red is going to be in Alpha :-)
Brian Hawley
11-Oct-2012 7:59:04
Yeah, there is mezzanine code in R3. Some functions that were mezzanine in R2 are now native in R3 (loops, for instance), and a few functions that were native in R2 are hybrid native/mezzanine in R3. For that matter, some new native functions in R3 were added to R2 later in mezzanine form. It's definitely not a deprecated concept, and it often makes the language less complex, not more. In many cases it helps us better manage and minimize necessary complexity.

A lot of language implementations do a lot of their library functions in the language. That way the implementors get to take advantage of the language facilities in their own work. As a side effect, it leads to improvements in the language, as it has for R3 (and then backported to R2).

We did remove a few concepts from R2 that were a pain, but there weren't that many, really, mostly just bugfixes. However, there are a couple problems left that still need removing (such as user-level alias). Most of the stuff that R2 can do that R3 can't yet is only a matter of programming, not deliberate removal on principle.

11-Oct-2012 12:32:48
Shadwolf "that's a bit short around the corner" as we say it here. There are a lot of small finesses in the different licenses all of them with their own consequences. It is not the most challenging stuff for tech oriented people and it might be Carl is consulting legal experts on the subject.

Imho Carl is forgiven the lack of responding here for life goes on and he does give a dime. Be a bit more patient. I am glad I am not in Carl's shoes making this decision.

11-Oct-2012 14:50:31
once you put something into a licence you are not tied to it you can change at anytime your licence because what is unforfeitable is the author right.

So the author set at anytime the licence of his product.

Whatever the licence it is irrelevant, I want it the most open possible to bosst this dead stuff. In fact what will be done afterward how will be organised the things interrest me more.

The select few filter is not what I recommand. BSD/MIT is that allow to get things starting to pump people into the project and to say that this opensource is made with a real intent to make rebol live on.

Brian Hawley
11-Oct-2012 15:08:37
Authors, plural.

You can only change the license if you are the copyright (or for some licenses patent) holder, or if the new license is compatible with the old license terms. Depending on which license is chosen initially you might not be able to change things without copyright assignment, or unanimous agreement between all of the contributors. Many potential contributors have already said that copyright assignment is a bit of a deal-killer for them, so you'll need agreement among the authors.

As for the rest, agreed, that would be nice.

12-Oct-2012 15:15:44
I, once again, agree with Fork. It seems there are some....vocal....people here who disagree but it always seems they are arguing for their own selfish benefit and not the benefit of the project/community. They have done their best to shout everyone down and to give bogus reasoning as to why you shouldn't have control over your own code. Those aren't the people to listen to here. You're welcome to change the license at any time so don't bother with their tiny concerns at this point in time.
12-Oct-2012 16:36:07
I'd say that Carl should sooner listen to those who have visibly stood by REBOL over many years, and who have made significant contributions of code or other input, unselfishly, than to some anonymous animals. For example, but not the only one - Brian H. These are clearly individuals who have share Carl's emotional attachment to REBOL, its ideals, and who are likely to stick with it in the long term. Personally, I'm all for their input carrying greater weight in the licensing question.
Carl Read
12-Oct-2012 16:43:36
Anonymoose: Choosing the right license is partly about not splitting the community, which the wrong license could do and GPL2 will do. So a debate about an alternative is a good thing.
Brian Hawley
12-Oct-2012 17:47:35
Anonymoose, I am arguing for the whole community's selfish benefit, including the benefit of Carl and the end users of REBOL, even you. If I was just arguing for me, it wouldn't be worth the argument. I'm not the selfish type :)

And as I said above, the copyright holders are only welcome to change the license later under fairly limited circumstances (copyright assignment or unanimous contributor agreement), and those circumstances have their own downsides. It's better for Carl and the rest of us to do this right in the first place :)

14-Oct-2012 7:07:48
So is the next big thing keeping our master busy recently?

I saw it included in the rebol3 twitter account profile description.

14-Oct-2012 13:53:52
Carl, "what Gabriele says". The LGPLv2 does precisely what you want. But I'm guessing you knew that :-)
Dan Lee
14-Oct-2012 18:02:02
I vote for LGPLv2 as well.
14-Oct-2012 19:00:26
Still no open source? Carl is the king of using procrastination to hook continued interest into his ideas. I suppose Carl is not going to release REBOL as open source so long as the wait is met with such over zealous interest. I suppose once it begins to wane that he will then table the source.
15-Oct-2012 2:05:14
Facebook Poll results:
  1. MIT license (10 votes)
  2. Apache-2 license (7 votes)
  3. Dual license (4 votes)
  4. BSD and LGPL (3 votes)
  5. GPL2 (1 vote)
15-Oct-2012 2:10:50
People who don't care about license, but want Rebol open:


15-Oct-2012 2:58:37
MaxV - we know, we are all waiting for Carl's next step. Some ppl think or can even bet, that Carl is working on his own licence, so we will have to wait a little bit longer imo :-)
Giuseppe Chillemi
15-Oct-2012 10:25:54
Hope Carl follows the Apache 2.0 community proposal. There are strong reasons for it.

Carl Sassenrath
15-Oct-2012 17:52:57
Sorry about the delay.

Of course, I did not expect so much debate, but I fully understand, because if I were you, I would probably be debating this too.

Note: It's different from my side because I have a huge investment in time and money for something that I'm about to publish for free. I would normally think that people are quite willing to receive this gift and in return contribute to it openly. (But, maybe that's not the modern world way of thinking.)

Anyway, I'll read up on Apache-2 license and post some notes.

15-Oct-2012 18:43:26
Carl, Thanks for your effort in REBOL. It impressed me so much, and I really like the way REBOL stand.

I will be very excited to take a deep insight in the source and hope I could make some contribution in the future.

Carl Sassenrath
15-Oct-2012 19:19:18
I'm very impressed by how much all of you think about this... and I appreciate the time required to post your ideas. Thank you, and I am sorry about the long delay.

It seems that this open source license question is like a wrench thrown into the engine, and it is making this process complicated.

I just got off the phone with a friend who is one of the top open source experts, and we'll meet for lunch tomorrow to talk talk this over. I think that should help a lot in the decision, and I'll post the conclusions here.

In the meantime, other tasks need to be completed in order to get the source published -- there are a couple other decisions to make. Let me post a new blog article about what's on my mind...

15-Oct-2012 23:02:25
Well, licenses are a difficult matter. A lot of implications and even the last lines of the license can make it not what your intention was.

I thought the discussion here was open and informative. There were many suggestions made and defended. That in all, and knowing where the current community stands, made this worthwhile.

You say it is like a wrench in the engine, I see it more as looking for the right key to start the engine (again) instead of short-circuit it to go for a joyride.

Imho, take your time to find the right key. (You probably already know what it is going to be, just envision it).

Giuseppe Chillemi
15-Oct-2012 23:13:43
Carl, REBOL is DIFFERENT. A licence like GPL could damage it instead of helping it.

The has been much debate. Please read the posts from Brian H. about the topic.

The community will implement anything a closed fork could adopt. It is the best way to enforce the open source nature of Apache 2.0.

Carl Sassenrath
16-Oct-2012 7:55
I think many good points have been made above. As much as I like the intention of what I wrote in the blog article, I do not wish to introduce yet another new software license for users to study, understand, and abide... nor for me to further define, refine, and enforce.

Brian (and others) points out that Apache 2.0 comes very close to my original requirements. It is a main-stream license used by major corporations. Yes, it's more permissive than I really wanted, but that may be worth the trade.

I think we are converging... yes/no?

16-Oct-2012 8:29:40
Apache 2.0 license would be great, for the reasons mentioned. Particularly being adoptable by major corporations and getting their participation. So a +1 for me.

I'm assuming it will be the same license for the kernel and the mezzanines.

Brian Hawley
16-Oct-2012 9:52:56
+1 to the same license for the kernel and mezzanines (if it's sufficiently permissive) because it would be much simpler for the community, and make it easier to convert mezzanines to/from natives as needed without the translation = derived work gotcha.

I think that if the tradeoff leads to a less divided community then we'll all benefit, including you :)

16-Oct-2012 9:57:35
+1 for Apache 2.0
16-Oct-2012 10:42:42
carl sassenrath +1. So it's a yes, But I still think the most relevant part comes from "rebol is opensource and with a nice licence so now how do we organise work?"

16-Oct-2012 11:07:01
CArl and a good start could be you giving this community a list of task to achieve (debugging, 1 release official per month or every 2 month, dead line for the GUI and its content (menu, tables, button, interactive text areas etc.., new things to add to the rebol vm etc..)

In fact I think from a starting point this community have to know what you consider missing in rebol3 to get out of the alpha stage.

As I understoud (my all carrier of software developper) - alpha stage is for developement and fast testing of NEW modules (fonctionality) in a software.

- Beta stage is for heavy and only bug correcting (sure if a module is developed super badly it will be rewrited at this stage and retested deeply)

- Release Candidate is the last testing ground where the modules are ultimatly polished (like adding icmp stack to the network module because we forgot to do it in alpha and beta stage and that it would be really cool to have it in rebol3).

- Release Stable is the release that achive 90% of satisfaction on every ground so we can say this is rebol3 use it! use it! use it!

And then we start the next developement cycle as the people will use r3 they will do feedbacks those feedbacks will fed a todo list if the suggestions are all about bugs then we will give rebol 3.0.XX version. If suggestions are about new modules or heavy rewriting of modules then we will label then 3.Y.XX.

Then we need interface to collect feedbacks and to have open discussions without people filtring. The developer team should be active and open enough to be able to take a 10 lines source code patch as well than a complete new module and release them as soon as possible.

if there is a regular pace on the up dates then the people providing source code to enhance rebol or bug fix it will know that their contribution will not sleep in a mail box for the next eternity but that their work will be available to the world at the next release that comes at the end of the month. this is what we call motivating people.

as for the organisation. For the bug report I liked rambo. the only thing I always found negativ about it was for me to be unable to sxay look I found that bug when I do this I get that result I tryed to understand that bug I searched in the source code of the rebol VM and I found that this was written that way instead of that way. Now what do you think about my change do you see it fit or do you have a better proposition?

I think this is the way a community should work (and that is more or less the way linux kernel is developped through the news group and mails. Rambo in my opinion is way cooler than a newsgroup! )

Then people will say to me but cure code is soooooo much fantastic etc... I would reply NO, NO, and NO! remabo was open to anyone to participate CureCode is a dedicated to a selected amount of ackmowledged people and this is not how things are to work.

16-Oct-2012 11:18:30
Carl once again. I made concrete proposition to reward your time and investement. Free softward doesn't means you don't have to pay for it or for it's enhancement. It means you are free to use it to diffuse it or to set up your own earnings around it. I gave a ton of examples of succesfull opensource project that earns money.

But once again to gain money you have to apeal people showing that your product is granted a futur and that it will be in hands of a bunch of lunatics (and I auto modere myself using cautiously picked word)

Lets say you open a donation found you claim 300 000 dollars. and that you limit the donation to 5 dollars maximum per people the effect you will generate is to get a minimum of 60 000 people investing in the futur of rebol. It is much much more that the amount of licence sold those past 10 years. To motive 60 000+ people to donate you will force your community the people that advocate for rebol to get out on every forum and profetise for this donation effort. This is how you set up a positive motion. And by having 60 000+ donators people involved then you are more likely to have more than 5 developpers willing to participate in rebol adventures.

The best part is yoou releasing rebol to open source will allow you to get a benefit and a vast acknoledgement of your work. What better way to grant a futur to rebol, then to give you money, and to open this 20 people interrested community ?

Post a Comment:

You can post a comment here. Keep it on-topic.


Blog id:



 Note: HTML tags allowed for: b i u li ol ul font p br pre tt blockquote

This is a technical blog related to the above topic. We reserve the right to remove comments that are off-topic, irrelevant links, advertisements, spams, personal attacks, politics, religion, etc.

Updated 1-Jun-2023   -   Copyright Carl Sassenrath   -   WWW.REBOL.COM   -   Edit   -   Blogger Source Code