To download the code, you must agree to the following license:

Copyright 2010, GreenSock, Inc.

"NO CHARGE" NON-EXCLUSIVE SOFTWARE LICENSE AGREEMENT
-----------------------------------------------------------------------------
PLAIN ENGLISH SUMMARY:

  1. You may use the code at no charge in commercial or non-commercial web sites, games, components, applications, and other software as long as end users are not charged a fee of any kind to use your product or gain access to any part of it. If your client pays you a one-time fee to create the site/product, that's perfectly fine and qualifies under the "no charge" license. If end users are charged a usage/access/license fee, please sign up for a corporate Club GreenSock membership which comes with a special commercial license granting you permission to do so. See http://www.greensock.com/club/ for details.
  2. Use at your own risk. No warranties are offered.
  3. Please respect the copyright.

-----------------------------------------------------------------------------

LEGALESE:

This is a legal agreement between you (either an individual or a single entity) and GreenSock, Inc. ("GREENSOCK") for the proprietary GreenSock ActionScript code known as TweenLite, TweenMax, TweenNano, TimelineLite, TimelineMax, LoaderMax, and other code that is available for download at http://www.greensock.com (this code and documentation, as well as any updates which may at GREENSOCK's sole discretion be provided to you from time to time, are referred to in this Agreement as "PROGRAM") By downloading, copying, or otherwise using the PROGRAM, you agree to the terms and conditions of this Agreement. If you do not agree to the terms and conditions of this Agreement, please do not download or use the PROGRAM.

I. LICENSE
A. Subject to the terms and conditions of this Agreement, GREENSOCK hereby grants you a non-exclusive, worldwide, non-transferable right to use the PROGRAM in web sites, games, components and other software applications for which the end user is NOT charged any fees. If you would like to use the code in a commercially licensed software product for which end users are charged a fee (either for usage or access), simply sign up for a corporate Club GreenSock membership at http://www.greensock.com/club/.

II. LIMITATION OF LICENSE AND RESTRICTIONS
A. You agree that you will not disclose, sell, rent, or license the PROGRAM's source code or any derivative works thereof to any third party without the prior written consent of GREENSOCK. Derivative works are defined as modifications that add substantive functionality to the PROGRAM and do not include bug fixes or other minor modifications required to operate the PROGRAM as originally intended. Distribution of the source code as part of your Work Product is acceptable so long as the recipients agree to the terms of this Agreement. You agree not to modify or delete GREENSOCK'S existing copyright notice located in the source code.

B. You may use, duplicate, and distribute the compiled object code as embedded in a Work Product created by you, either for your own use or for distribution to a third party so long as end users of the Work Product are not charged a fee for usage of or access to any portion of the Work Product. Please see http://www.greensock.com/licensing/ for descriptions of Work Products that qualify for the "No Charge" license.

III. CONSIDERATION
A. The license rights granted to you under this Agreement are at no charge, but only in the following circumstances: If on your own behalf or on behalf of a third party you incorporate the PROGRAM into a web site, game, software application, program or any component thereof (collectively, "Work Product"), which in the case of a web site, must be accessible to internet users without payment of a fee of any kind, and in the case of a software application, game, program or component, neither you nor anyone to whom you distribute the Work Product charges a user a fee of any kind to use such Work Product or application, game, program or component into which such Work Product is embedded. The foregoing shall apply regardless of whether you are paid to create such Work Product.

B. In the event your intended use of the PROGRAM does not meet the criteria for the "no charge" license rights set forth in the immediately preceding paragraph, then you are not licensed to use the PROGRAM under this Agreement and must license the PROGRAM under GREENSOCK'S separate fee-based Software License Agreement which is granted to corporate Club GreenSock members (see http://www.greensock.com/club/ for details).

IV. TITLE AND OWNERSHIP
A. The PROGRAM is licensed, not sold, and is protected by copyright laws and international treaty provisions. You acknowledge that no title to the intellectual property in the PROGRAM is transferred to you. You further acknowledge that title and full ownership rights to the PROGRAM, including all intellectual property rights therein, will remain the exclusive property of GREENSOCK and you will not acquire any rights to the PROGRAM except as expressly set forth in this Agreement. You agree that any copies of the PROGRAM you make will contain the same proprietary notices which appear on and in the PROGRAM. You agree that GREENSOCK may identify you as a licensee unless you make a written request otherwise. GREENSOCK hereby grants to you the right to disclose that your product, game, software application, component, or other Work Product makes use of GREENSOCK code (for example, "Powered by TweenLite").

V. DISCLAIMER OF WARRANTY AND LIMITATION OF LIABILITY
A. THE PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. GREENSOCK DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE PROGRAM WILL MEET YOUR REQUIREMENTS OR THAT OPERATION WILL BE UNINTERRUPTED OR ERROR FREE. GREENSOCK shall not be liable for special, indirect, incidental, or consequential damages with respect to any claim on account of or arising from this Agreement or use of the PROGRAM, even if GREENSOCK has been or is hereafter advised of the possibility of such damages. Because some states do not allow certain exclusions or limitations on implied warranties or of liability for consequential or incidental damages, the above exclusions may not apply to you. In no event, however, will GREENSOCK be liable to you, under any theory of recovery, in an amount in excess of $250. Notwithstanding anything else in this agreement, you agree to indemnify GREENSOCK, its assignees, and licensees, and hold each of them harmless from and against any and all claims, demands, losses, damages, liabilities, costs, and expenses, including legal fees arising out of or resulting from any negligent act or omission by you.

B. GREENSOCK may, at its sole discretion, provide support services related to the PROGRAM, but has no obligation to do so.

VI. TERMINATION
If you at any time fail to abide by the terms of this Agreement, GREENSOCK shall have the right to immediately terminate the license granted herein, require the return or destruction of all copies of the PROGRAM from you and certification in writing as to such return or destruction, and pursue any other legal or equitable remedies available.

VII. MISCELLANEOUS
A. This Agreement shall be construed in accordance with the laws of the State of Illinois. In the event of any dispute between you and GREENSOCK with respect to this Agreement, we both agree that if we cannot resolve the dispute in good faith discussion, either of us may submit the dispute for resolution to arbitration with the American Arbitration Association before a single arbitrator using the AAA Rules for Commercial Arbitration. The arbitrator's decision is final and can be enforced in any court with jurisdiction over such matters.

B. This agreement represents the complete and exclusive statement of the agreement between GREENSOCK and you and supersedes all prior agreements, proposals, representations and other communications, verbal or written, between them with respect to use of the program. This agreement may be modified only with the mutual written approval of authorized representatives of the parties.

C. The terms and conditions of this Agreement shall prevail notwithstanding any different, conflicting, or additional terms or conditions which may appear in any purchase order or other document submitted by you. You agree that such additional or inconsistent terms are deemed rejected by GREENSOCK.

D. GREENSOCK and you agree that any xerographically or electronically reproduced copy of this Agreement shall have the same legal force and effect as any copy bearing original signatures of the parties.

I'd like to learn how to get bonus plugins, update notifications, SVN access, and more.
To continue, you must agree to the following license:

Licensing: "Free" != Better

Open source projects are great. Many provide elegant, refined code for free. They can save hours of development time and hassle. They’re often a jumping-off point for up-and-coming developers to share their innovation with the rest of the community, inspiring others to write better code. Of course there are also plenty of open source projects that are riddled with bugs, poorly documented, and downright dangerous to use. The web is littered with abandoned projects that once seemed promising. It’s like a clearance bin you’d find at a discount store – there may be some treasures in there, but you’ll have to dig through a lot of garbage to find them.

Over the years, I’ve seen quite a few open source tweening engines pop onto the scene, get some buzz, and then gradually stagnate and fade off the scene. Many stay in Beta for ages. Some contain known, unpatched bugs. The community usually does a good job of eventually recognizing quality solutions and gravitating towards them, but there are always people who try out the “latest and greatest” thing, only to be disappointed in the end as it stagnates or fails to mature. Don’t get me wrong – I’m NOT saying all other tweening projects have suffered this fate or are “bad” in some way. In fact, I have spoken directly with some of the authors like Grant Skinner (GTween), Zeh Fernando (Tweener), and Moses Gunesh (Fuse, GoASAP). I have the utmost respect for each of them, and this article isn’t meant to diminish anyone’s hard work or generosity in the least. From my perspective, however, there are some common frailties of open source projects in general that I have observed, and my goal has simply been to figure out a way to protect the GreenSock Tweening Platform from falling victim to them. I have learned that one of the key factors in keeping a project like TweenLite thriving is actually the licensing model.

The funny thing is that in all the feedback I get about the GreenSock platform, I don’t get many complaints about functionality, performance, bugs, documentation, or ease of use – the most common complaint (which really isn’t very common at all) has to do with the licensing model. The complainers love the frequency with which the platform is updated and enhanced, they appreciate the prompt support, they may even recognize the thousands of hours that have gone into building, refining, and supporting it, but they object to the very thing that makes all that possible – the licensing model. More specifically, they don’t like the fact that a very particular, uncommon (less than 1%) type of commercial use would require the special license that comes with a corporate Club GreenSock membership. They don’t seem to realize that Club GreenSock provides a vital funding mechanism for ongoing innovation, optimization, and support. Without it, the project simply couldn’t be where it is today.

An MIT (or similar) license is perfectly adequate for projects that don’t need much updating or support. But a tweening platform has a lot of moving parts and is absolutely essential for most modern Flash applications and web sites, so frequent updates and enhancements can be crucial. The platform must be tightly optimized, full-featured, and flexible without becoming too bloated. Documentation and examples become increasingly important as the feature set expands and companies standardize on it, needing to train new employees, etc. This takes time and energy, so the author’s active involvement will directly impact its robustness, reliability, and staying power.

An MIT license is also great for authors whose goal is to start something, then step back and let the community run with it in any direction they want, altering the code and redistributing it. But that hasn’t been my goal. In fact, I think it can lead to a lot of confusion as different flavors start popping up all over with incongruent feature sets and incompatibilities. Focus and direction are easily lost. If there’s no driver (or too many drivers), it can be a scary ride for the passengers. I wanted to protect end users from these dangers, so while the GreenSock license does allow for tweaking of the code in order to make it function as originally intended (bug fixes), it doesn’t allow for Frankenstein-like alterations that are likely to cause problems. Again, I’m not saying an MIT (or similar) license is bad or wrong – it just didn’t align with what I thought would serve the community best on this particular project.

My goal with the GreenSock licensing model has been to create a solution that makes the platform extremely accessible, completely free for 99%+ of the use cases out there including the vast majority of commercial uses, while the “power users” (less than 1% of the users) who are directly profiting by a specific type of reselling of a product that uses GreenSock code end up providing a revenue stream that drives continued innovation, support, and optimization which benefits all users. I firmly believe that it ultimately delivers a better end product for everyone. I would argue that this licensing model is a feature of the platform, not a liability, and that it should give end users more confidence, not less. In fact, many companies have chosen the GreenSock Tweening Platform because of the license, not in spite of it. They wanted to invest in a platform that had a certain level of commitment behind it, not merely an “I’ll get to it when I get to it” attitude.

My Dad always taught me that successful people don’t base their decisions on “how much does it cost?” but rather “how much does it pay?” He helped me see how silly it was to become hyperfocused on price. I started noticing lots of hidden costs in going “cheap” on certain things. There are always trade-offs. The same concept applies to 3rd party code. “Free” != Better. In fact, there can be some significant costs associated with “free” code that shockingly few developers recognize. When you look at the facts, I think you’ll see that it makes a lot of business sense to invest in the platform.

After pondering it, I realized that using an MIT (or similar) license for the tweening platform would force my user base to pay some hidden costs that I found unacceptable. Specifically, they wouldn’t get the enhancements, code refinement, or support that I felt would be necessary to serve them well. Sure, on paper the MIT license sounded desirable for end users, but when I took a step back and looked at the bigger picture, I saw why using a slightly different model would make a lot more sense for everyone involved.

Also, don’t let the licensing issues scare you into adopting either of two extreme views:

  1. Some developers absolutely refuse to use 3rd party code. When it comes to a tweening engine, they either stick with the Adobe Tween class which performs horribly by comparison and is anemic in terms of its feature set, requiring tons of extra code, or they resolve to write their own engine because they’re scared of the risks involved with using a 3rd party engine and they believe their own code will be superior, not recognizing the likelihood that the 3rd party already solved a bunch of nasty challenges that await them as they embark on their “reinventing the wheel” endeavor. These developers end up wasting considerable time and missing out on a tool that could revolutionize their workflow, drastically improve efficiency, and raise the quality of their end product. If they build their own, they also must train other members of the team to use it and then worry about the maintenance, documentation, and optimization. Stubborn refusal to take advantage of refined 3rd party code can be costly indeed.
  2. Some developers turn up their nose at the thought of paying anything for 3rd party code especially when they believe they could find something similar for free out on the web. “free == better, open source rules!” is their mantra. But they fail to recognize the potential hidden costs of using “free” code that has no funding mechanism. It could be poor support, slow bug fixes, lack of continued innovation, poor performance, sub-par feature set, bad documentation, etc. These developers tend to be penny wise and pound foolish, making silly sacrifices just to save a buck in the short term.

In summary, don’t buy into the idea that cheaper is always better or that an MIT license is necessarily superior or safer. Consider the hidden costs and risks associated with any licensing model. Maybe you don’t see the value in the GreenSock model and that’s okay; there are plenty of open source engines to choose from. But my goal with this post was to respectfully challenge some of the paradigms out there regarding licensing and explain the factors that informed my decision to use a rather unique model.

Comments (21) RSS

Posted by MSFX on June 25, 2009

Spot on Jack, i’m here as this engine is obviously an ongoing project being furtherly developed by yourself and GS. I’ll be needing corperate license soon for several stock components, more than happy to pay for it :)

Posted by zproxy on June 25, 2009

While reading your article I momentarily visioned a diagram showing how tween projects come to be, then emerge, stay in the buzz zone then gradually drop below the radar just to die some time later or to reemerge.

I also think, that a solid revenue stream will enable further development of an open source project.

Good post! :)

Posted by Mo on June 25, 2009

TweenLite is great. I am so happy to use it all the time.
Right now I have donate the minimum to be able to use the custom easing.

There is no doubt in my mind I will soon enough get the corporate license.
Any component that is worth selling + needs tween engine = needs gs.
Anyway I get so excited every time I thing about gs, such a nice work!!

Thanks a lot + nice post.

Posted by Gil (Pickle) on June 26, 2009

With v11 imminent, I am considering switching over to TweenLite completely. I’ve been using HydroSequence (GoASAP) a lot because of it’s sequencing capabilities. However, it is a perfect example of a project that may be petering out as known bugs remain unpatched. For simple tweens, TweenLite v10 has been solid. Thank you for your hard work on this… your licensing seems fair to me :)

Posted by Niklas on June 26, 2009

I think your license model is spot on and great. Of course you need to get something back for specific functions. I see no problem with that. Like Mo, I as well will probably buy the corporate license soon.

Posted by Jens Wegar on June 26, 2009

I actually think you’re license model is pretty spot on for a library of this type. It allows newcomers to get into your product free of charge, while providing some revenue from people who are sure to make money from using your library. You should perhaps think about standardizing it in some way so that other library producers could use your model also? Put it on the same level with GPL/Apache/MIT etc., i.e. write a formal License agreement that other developers could refer to when they say “This code is subject to the Greensock License Model” or something like that. Think about it ;)

Posted by onedayitwillmake on June 26, 2009

Let’s not forget though that if it wasn’t for Robbert Penner’s Open source under the BSD License equations, your tweening engine might not exist. I’m mostly playing devils advocate here, as of course your product does much more than wrap the easing functions.

Posted by jack on June 26, 2009

Indeed, Robert Penner’s equations were a breakthrough in their time and he deserves nothing but respect (he certainly has mine). But like I said in the article, a BSD or MIT-like license is ideal for code like that because it isn’t something that needs frequent updates, enhancements, etc.

Posted by Alan on June 27, 2009

I agree. I also just signed up for Club GreenSock.

Within economics, there is a term for what you are describing ‘tragedy of the commons’. It’s not a perfect fit, but the concept is similar. Basically – when everyone one owns something, no one ones it. No one owns it, so no one cares for it and it dies.

The proper way is along the lines of managed commons, this would be things like Linux, Flex, and Zend. There are parties with commercial interesting in them, that is why they thrive.

Posted by Peter Bohny on June 29, 2009

I think your license model is more than fair. The quality and features are outstanding. Having a corporate license (I even bought TransFormManager blindly),it’s directly going into the quality of my work while saving me a lot of time =$$$$

Keep it up!

Posted by Ruben Bristian on June 29, 2009

TweenMax is the best tweening engine ever! It has a lot of unique features, and at least for me, it’s worth the money :)

Posted by camdagr8 on July 1, 2009

I think anything worth using is inversely worth buying. TweenLite/Max is definitely worth using – nuff said ;)

Posted by Arby on July 2, 2009

People who complain fall into two categories:
1. People worth listening to.
2. People not worth listening to.

Consider that when considering the gripes about a commercial license.

Anyways, another avenue for financial support would be occasional “donation drives” just like PBS and some free radio stations do. Just a couple newsletters and blog posts done twice a year urging users to join the club!

Posted by Agustin on July 2, 2009

I absolutely agree with Jens Wegar, your licence model it’s such a clean idea, so could you release a GSock Licence Model under GSock Licence? I absolutely agree with your model and I’m just waiting for the project that would finance my Corporate Licence… that’s how I always do it, if a project requires a software or licensed stuff just add it to the bill, it always pays of, and the client ends up paying happily.

Posted by James Stone on July 10, 2009

I pay for your product because it is good and it works, and makes me money and saves me time. I’m just so glad I tried out your tweening engine first, as lord knows the problems I may of come across on the way to finding it. Good work… well done… and as a side note… I’d not feel safe driving in an open source car!

Posted by Mario on July 11, 2009

Was glad to fork over the money for this awesome library. Most importantly, you do all of the work and the price is darn reasonable.

What I don’t like about other open-source project is some leverage contributors into bug fixing and contributing, but only the original authors benefit from any revenue when they do a switch-a-roo on the license.

There needs to a middle ground where we reward passionate open source developers and major contributors so projects thrive. Maybe call it fair source.

Anyway, did not hesitate at all to ‘donate’ to your cause. Keep up the good work.

Posted by Erik Hallander on August 14, 2009

Solid post Jack.

I still owe you another membership probably, just due to the fact that I’ve written more tweenmax code over the last 6 months than any other living human being.

Good read and good luck with v11 and all that it entails.

Hug

E

Posted by Ofeargall on August 14, 2009

I had a pastor talk about tithing one time. He was really nervous about it until a friend pointed something out. “There are two kinds of people,” his friend said. “those who tithe and those who do not. Those that tithe will stand up and say ‘Amen, let’s all share the load’ and those that don’t tithe will call me Monday morning and say ‘how could you possibly talk about money in church?’. So, I’ll talk about tithing and risk the complaints because, what are they going to do, not tithe more?”.

Keep up the good work.

Posted by Teksetta on September 16, 2009

Great post, you’re absolutely right. I can attest to the fact that your timely responses for a product like this were definitely speedy. I’m sure you have more to do during your day than deal with the rants of people who don’t know what they’re doing, easily mistype something, or just get plain turned around sometimes such as myself. If I have to pay a small fee for a service like this and such a great utility as well then so be it. It’s such a small price to pay for the continual updates that you give.

Posted by jo on September 22, 2009

I’ve said it before. Your Tween classes deserve the money. Over many years of playing with TweenMax, I have found NOT ONE bug.

Posted by Pablo on November 19, 2009

Ok, you convinced me. You have a solid point.