Dear Cincom Smalltalk Community;
Alan Knight and I have been working with Cincom management on clarifying these issues. Management has been very supportive in our efforts to make sure we address the community concerns for the license and usage. There have been a number of questions in this list and in other forums about exactly what's allowed under the Personal Use License. Here are some examples that we hope clarify things. These break down into a few different cases: 1. You write some code and use it yourself and don't redistribute it. That allowed, as long as you're using it according to the terms of the license, including that it's not for a revenue generating venture or for the operation of a business. If it's something that you hope might one day be a business, but it isn't yet and doesn't generate revenue, then that's still considered personal use. If it's sort of a business or generates revenue but not very much, or even if you're just serious enough about it that you'd like to have support, then you'd need a commercial license. For things that don't generate very much money yet the Cincom VAR license is based on a percentage of your revenue, so you can sign up for that very cheaply. If you're not sure if your usage would qualify as being for a revenue generating or business purpose, then you should contact Cincom. There are always gray areas, and we won't be unreasonable. For example, if you were writing something for a local charity or non-profit that you support, even though it technically generates revenue we'd normally allow that. But if the Gates foundation wants to use our products for a multi-million dollar project we'd like to be paid. 2. You write some code, put it under an open source license, and publish it to the public repository or make it available for download. That's allowed, as long as you're using it according to the terms of the license, including that it's not for a revenue generating venture or for the operation of a business. Same caveats as above. 3. You write some code, or use someone else's code, and it runs a web site or other service on the internet. That's allowed, as long as it's not for a revenue generating venture or for the operation of a business. So, running a wiki for some non-business purpose is fine. Running a wiki for support of your commercial product would require a commercial license. Same caveats as above. 4. You write some code and want to distribute it as an executable or image and virtual machine. That ought to be allowed, as long as you're not exposing Cincom intellectual property (including our sources, letting people use Cincom code for purposes other than that of running your application) but the license as it stands isn't clear about it. We're going to work with legal and management to make something that makes that usage and any restrictions on it clear and simple. And of course, this is only allowed if it's otherwise in agreement with the terms of the license, including not being for a revenue generating or business purpose, and the previous caveats apply. We hope this is helpful, and if you have any more questions, scenarios, or ways we can make this clearer, we'd love to hear them. Sincerely Arden Thomas Alan Knight Contacts: Arden Thomas Smalltalk Product Manager a[hidden email] Alan Knight Smalltalk Engineering Manager [hidden email] Suzanne Fortman Smalltalk Program Director [hidden email] Arden Thomas Cincom Smalltalk Product Manager 845 296 0686 Cincom Smalltalk - It makes hard things easier, the impossible, possible "Simplicity is the Ultimate Sophistication" - Leonardo Da Vinci _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Point 4 doesn't make a lot of sense outside the context of the VM. Your sources (Smalltalk level) are open already.
On Oct 14, 2011, at 1:21 PM, Arden Thomas wrote:
James Robertson _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
No, they're not open in
the sense of open source. They're copyright Cincom and available as part
of the product. That doesn't mean they can be freely redistributed.
_______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Thomas, Arden
Dear Arden, dear Alan,
Thanks for the clarifications. There is a statement in your email which I haven't fully understood. Am 14.10.11 19:21 schrieb "Arden Thomas" unter <[hidden email]>: >2. You write some code, put it under an open source license, and publish >it to the public repository or make it available for download. That's >allowed, as long as you're using it according to the terms of the >license, including that it's not for a revenue generating venture or for >the operation of a business. Same caveats as above. This covers e.g. the development of JNIPort for VisualWorks. I understand that I may use VisualWorks NC for developing JNIPort, and publish it under an open source license. But what did you mean by the second sentence? Does it mean that any open source software developed with VW NC may only be used according to the terms of the *VisualWorks personal use license*? And does the "you" mean that this applies to me, the publisher of JNIPort for VisualWorks, but not to someone else who is downloading the code? Or does the "it" in the second sentence stand for VisualWorks, but not the code I have written? This last interpretation would make sense, but the alternative would mean that I couldn't continue to develop JNIPort for VisualWorks, as I can't guarantee that I won't use JNIPort in a commercial product someday in the future. Best regards Joachim Geidel _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Alan Knight-2
I didn't mean in an OSS context. I meant in the "anyone can see them already" sense.
So then if I download the personal edition, I can't hand someone a copy, even if I include the license as it came to me, and make it obvious that the license is something they should look at? On Oct 14, 2011, at 3:27 PM, Alan Knight wrote:
James Robertson _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
How does this apply to non-profit organizations?
They are definitely a business, but not out to generate revenue. On Fri, Oct 14, 2011 at 12:54 PM, James Robertson <[hidden email]> wrote:
_______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Joachim Geidel
This is not so much of an
official statement, and I haven't run it past anybody, but I hope this
further clarifies.
If you wrote the software, and it doesn't include any Cincom code, then I don't see how we'd have any right to dictate how it, on its own, could be used. But you're using VisualWorks while writing the software. If you charge money or otherwise get revenue for JNIPort, then you would need a commercial license. But as long as your use while writing JNIPort qualifies for the Personal License terms, then you can use that license. It's your software and would be under whatever license you gave it. Now if I, or anyone, wants to use your software, we can use it under whatever terms you licensed it under, and Cincom isn't involved. But if I'm using VisualWorks to run that software, then I need to have a valid VisualWorks license, which could be Personal Use or commercial depending on what I'm doing. So you're free to develop and distribute JNIPort using VisualWorks with a Personal Use License. That's the sort of thing we not only want to allow, but encourage. You're graciously donating your time and software to the community and helping our users. If at some point in the future you start to use it in a commercial project, then you'd need a commercial license for that commercial project. You would still be able to develop and distribute JNIPort in a VisualWorks that was under the Personal Use License. Or you could use a VisualWorks under a commercial license, it doesn't really matter. Other people could use it in VisualWorks as long as they had a valid VisualWorks license, which again could be either Personal Use or commercial. Does that help?
--
Alan Knight [|], Engineering Manager, Cincom Smalltalk [hidden email] [hidden email] http://www.cincomsmalltalk.com _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by jarober
Thoroughly not speaking
officially now.... It's possible that you could give it to someone, I
don't know what legal would consider acceptable in terms of that person
agreeing to the license. To me that seems less than a click-through. And
yes, it seems a bit silly, but that's software law for you. Maybe you'd
need to put it in a case with one of those sticky labels that says that
by opening it you're agreeing to the license.
But if you just had it as part of the product and didn't do those things I'm pretty sure that legal would not find that acceptable. So that's what we'd like to clarify - exactly what would be considered acceptable steps to protect Cincom's intellectual property while allowing people to redistribute it in some form.
_______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Jon Paynter-2
We mentioned that
specifically as a gray area where you'd want to consult Cincom. We don't
want to chase somebody's local food bank, but there are non-profits
that spend many millions of dollars on software development.
_______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Jon Paynter-2
Au contraire, non-profits are *definitely* out to generate revenue. Or do you not get as many evening phone calls from "non profits" as I do? ;-)
On Fri, Oct 14, 2011 at 4:26 PM, Jon Paynter <[hidden email]> wrote: How does this apply to non-profit organizations? _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Alan Knight-3
Well, this comes to mind. How do we define:
"Does not include any Cincom code" given -- inheritance -- overrides On Oct 14, 2011, at 4:28 PM, Alan Knight wrote:
James Robertson _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Hi Jim;
The source code issue means that we don't want Cincom IP or the IDE being given away. So for example, you could not take VisualWorks, write a Hello World application in it, and then give away the whole environment. Apps like BottomFeeder would be either a sealed deployed app, or loaded code by a person with an appropriate Cincom license, such as commercial or personal use. We want to both allow and encourage appropriate deployed apps (apps that are not running a business, generating revenue, etc), but as noted, we are still working on the details of that process. We know our relationship with the community can be a mutually beneficial relationship. We know that interesting things done by the community can help current customers, attract new people to the great language Smalltalk, provide experienced employees and employment, and projects can evolve into commercial licenses as they experience success. We get that and want to do our part in supporting our community. We wish great success to every community member! Regards Arden On Oct 14, 2011, at 5:13 PM, James Robertson wrote:
_______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by jarober
Hi Jim;
The source code issue means that we don't want Cincom IP or the IDE being given away. So for example, you could not take VisualWorks, write a Hello World application in it, and then give away the whole environment. Apps like BottomFeeder would be either a sealed deployed app, or loaded code by a person with an appropriate Cincom license, such as commercial or personal use. We want to both allow and encourage appropriate deployed apps (apps that are not running a business, generating revenue, etc), but as noted, we are still working on the details of that process. We know our relationship with the community can be a mutually beneficial relationship. We know that interesting things done by the community can help current customers, attract new people to the great language Smalltalk, provide experienced employees and employment, and projects can evolve into commercial licenses as they experience success. We get that and want to do our part in supporting our community. We wish great success to every community member! Regards Arden On Oct 14, 2011, at 5:13 PM, James Robertson wrote:
Arden Thomas Cincom Smalltalk Product Manager 845 296 0686 Cincom Smalltalk - It makes hard things easier, the impossible, possible "Simplicity is the Ultimate Sophistication" - Leonardo Da Vinci _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Arden-8
Perhaps the detail that's being hammered flat is whether
MyClass subclass: #SomeCincomSpecificClass or myInstance := SomeCincomSpecificClass new. constitute inclusion of Cincom code. >From: Arden Thomas <[hidden email]> >To: James Robertson <[hidden email]>; VWNC NC <[hidden email]> >Sent: Friday, October 14, 2011 3:46 PM >Subject: Re: [vwnc] Personal Use License Clarifications > > >Hi Jim; > > >The source code issue means that we don't want Cincom IP or the IDE being given away. So for example, you could not take VisualWorks, write a Hello World application in it, and then give away the whole environment. > > >Apps like BottomFeeder would be either a sealed deployed app, or loaded code by a person with an appropriate Cincom license, such as commercial or personal use. > > >We want to both allow and encourage appropriate deployed apps (apps that are not running a business, generating revenue, etc), but as noted, we are still working on the details of that process. > > >We know our relationship with the community can be a mutually beneficial relationship. We know that interesting things done by the community can help current customers, attract new people to the great language Smalltalk, provide experienced employees and employment, and projects can evolve into commercial licenses as they experience success. We get that and want to do our part in supporting our community. We wish great success to every community member! > > >Regards > > >Arden > > >On Oct 14, 2011, at 5:13 PM, James Robertson wrote: > >Well, this comes to mind. How do we define: >> >> >>"Does not include any Cincom code" given >> >> >>-- inheritance >>-- overrides _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
On 10/14/2011 04:06 PM, Isaac Gouy wrote:
> Perhaps the detail that's being hammered flat is whether > MyClass subclass: #SomeCincomSpecificClass > > or > > myInstance := SomeCincomSpecificClass new. > > constitute inclusion of Cincom code. I *think* this is pretty clear: You can *write* this code and it's your code, and you can give it to whoever you want without a license from Cincom. However, this code won't *run* without the Cincom code being present, so to make it useful you have two basic options: 1) Package it together with Cincom code and run or distribute the combination, abiding by whichever license (personal or commercial) you have with Cincom. 2) Distribute just your code, in source or parcel form, under whatever terms you choose, and make the recipients of your code load it into a VW that they've licensed from Cincom. hth, -Martin _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Well that's what I would assume but I don't see what other point Jim Robertson might have intended to make, so maybe it's another concrete example where a definitive answer will help.
----- Original Message ----- > From: Martin McClure <[hidden email]> > To: Isaac Gouy <[hidden email]> > Cc: VWNC NC <[hidden email]> > Sent: Friday, October 14, 2011 4:23 PM > Subject: Re: [vwnc] Personal Use License Clarifications > > On 10/14/2011 04:06 PM, Isaac Gouy wrote: >> Perhaps the detail that's being hammered flat is whether >> >> MyClass subclass: #SomeCincomSpecificClass >> >> or >> >> myInstance := SomeCincomSpecificClass new. >> >> constitute inclusion of Cincom code. > > I *think* this is pretty clear: > > You can *write* this code and it's your code, and you can give it to whoever > you want without a license from Cincom. > > However, this code won't *run* without the Cincom code being present, so to > make it useful you have two basic options: > > 1) Package it together with Cincom code and run or distribute the combination, > abiding by whichever license (personal or commercial) you have with Cincom. > > 2) Distribute just your code, in source or parcel form, under whatever terms you > choose, and make the recipients of your code load it into a VW that they've > licensed from Cincom. _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
On 10/14/2011 05:02 PM, Isaac Gouy wrote:
> Well that's what I would assume but I don't see what other point Jim Robertson might have intended to make, so maybe it's another concrete example where a definitive answer will help. Yep, definitive answers are always the best. :-) Regards, -Martin _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Isaac Gouy
In Smalltalk, you can override an existing method. For instance, in BottomFeeder, I overrode a bunch of methods in the Dataset widget. The code is largely Cincom code, but it's included (with my mods) in BottomFeeder. Not overridden in a subclass; the methods in question have been modified in place. So even if I only distribute in parcel form, does this count as "including Cincom code" ?
On Oct 14, 2011, at 8:02 PM, Isaac Gouy wrote: > Well that's what I would assume but I don't see what other point Jim Robertson might have intended to make, so maybe it's another concrete example where a definitive answer will help. > > > > ----- Original Message ----- >> From: Martin McClure <[hidden email]> >> To: Isaac Gouy <[hidden email]> >> Cc: VWNC NC <[hidden email]> >> Sent: Friday, October 14, 2011 4:23 PM >> Subject: Re: [vwnc] Personal Use License Clarifications >> >> On 10/14/2011 04:06 PM, Isaac Gouy wrote: >>> Perhaps the detail that's being hammered flat is whether >>> >>> MyClass subclass: #SomeCincomSpecificClass >>> >>> or >>> >>> myInstance := SomeCincomSpecificClass new. >>> >>> constitute inclusion of Cincom code. >> >> I *think* this is pretty clear: >> >> You can *write* this code and it's your code, and you can give it to whoever >> you want without a license from Cincom. >> >> However, this code won't *run* without the Cincom code being present, so to >> make it useful you have two basic options: >> >> 1) Package it together with Cincom code and run or distribute the combination, >> abiding by whichever license (personal or commercial) you have with Cincom. >> >> 2) Distribute just your code, in source or parcel form, under whatever terms you >> choose, and make the recipients of your code load it into a VW that they've >> licensed from Cincom. > > > _______________________________________________ > vwnc mailing list > [hidden email] > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc James Robertson http://www.jarober.com [hidden email] _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Yuck! ;-)
----- Original Message ----- > From: James Robertson <[hidden email]> > To: VWNC NC <[hidden email]> > Cc: > Sent: Friday, October 14, 2011 5:33 PM > Subject: Re: [vwnc] Personal Use License Clarifications > > In Smalltalk, you can override an existing method. For instance, in > BottomFeeder, I overrode a bunch of methods in the Dataset widget. The code is > largely Cincom code, but it's included (with my mods) in BottomFeeder. Not > overridden in a subclass; the methods in question have been modified in place. > So even if I only distribute in parcel form, does this count as "including > Cincom code" ? _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
I think the problem is not override as much as copy and paste.
Often when a method is overridden, the programmer starts with the original method and adds or changes a few lines. The new version might end up in a subclass, or it might be modified in place. One of the unusual things about Smalltalk is that an application can change existing code, not just add on. This can be dangerous, but it can also be useful. I think that people who are using VisualWorks to write packages need to use a variety of licenses on their own code. The one that the Personal Use License assumes is "I wrote it all myself, and I put the XXX license on this code". But in fact most big packages written on top of VisualWorks will include a small amount of VisualWorks code. So, the real license that developers want to use is "I wrote is mostly myself, but there is a small amount of code in here that is copyright Cincom". Since the code won't run anywhere except in VisualWorks, anybody who is legally running the code already has a Cincom license, so there is no problem. The problem comes when someone decides that they want to make the package portable. They want to rewrite it so that it can run on Squeak, VisualAge, etc. Odds are good that code copied from VisualWorks is part of what has to be eliminated. The programmer might separate the package into two parts, the portable part and the VisualWorks specific part, and then write platform specific parts for the other Smalltalks. But it is not easy to be sure that all the parts copied from Cincom are gone. The programmer wants to say that the one package was all his/her own work, and that if there is any Cincom code, it is in a special VisualWorks compatibility package. The Eclipse people are also worried about copying, but the other direction. They want to make sure that code submitted to be put in Eclipse is not copied from someplace. So, they run a "plagiarism" detector on all the Java code they can find anywhere on the internet, and compare it with any code submitted to be put in Eclipse. It would be a lot easier to make a tool that goes the other way, that compares a package to what is in the image. It could then warn a developer that some of the code was copied, and they could either move it to a VisualWorks compatibility package, rewrite it, or contact Cincom and see if they will give permission to distribute it. So, I think that the Cincom license should distinguish between two kinds of packages that people might want to distribute. These are 1) packages that will only run with VisualWorks and that might have some code in it that is copywrite Cincom and 2) packages that have no code in it that is copywrite Cincom. And, Cincom would provide a tool to distinguish between the two, using the standard algorithms for plagiarism detection. By "Cincom would provide", I don't necessarily mean that CIncom would develop the tool, since it doesn't matter who develops it, just that Cincom has agreed to use it as a test for whether a package has any copied code. Note that there still will be cases where Cincom will give permission to distribute code with a few methods copied from VisualWorks, because it often will be in their best interest to do so. But I am assuming that this will be done on a case by case basis, and most developers will be happy with either of two ways that I described above. -Ralph Johnson _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Free forum by Nabble | Edit this page |