Cabbage Logo
Back to Cabbage Site

Discussion about licenses (commercial use of Cabbage)

I am wondering if I could use Cabbage to design and layout a GUI and then pull the file into JUCE somehow? I want to work with libPD and GEN~ in max/msp as I am a well versed visual modular programmer, but I don’t know csound.

so it seems there is a bit of confusion in this thread because the cabbage user is actually a plugin developer. I’m no expert but I find licensing interesting and so I thought I’d pipe in.

I think I need a better understanding of what cabbage does to comment more confidently on licensing, but it seems that cabbage “compiles” a binary that combines the VST sdk with a JUICE UI and some code to “link” to csound. The resulting binary I think is fine to distribute commercially unless cabbage licenses the output (which it may be important to expressly make clear in the license that exported works are not covered in the cabbage license) OR VST prevents closed source distribition (which we know is not true) OR JUICE does. That last one is what I’m most concerned about. I believe the plugin dev (who is also the cabbage user) should pay JUICE for a license for a commercial plugin. This maybe could be avoided if the GUI part is a separate binary that you release under GPL.

Of course the csound instrument file needs to get wrapped into that binary for this to be any use to a proprietary plugin developer. It wasn’t clear to me if that’s being done yet or not.

Does that seem accurate? I wish I had a lawyer friend who could go over all this. Licensing will become more important as cabbage becomes more widely known.

It’s a little tricky. Users can’t sell Cabbage but they can freely distribute it. They can sell their instruments, but the code is not currently bundled into the binaries. Therefore users must also be willing to distribute their Csound code. If enough people were interested I could look into a way of bundling the Csound code, but it would need to be licensed as open source unless I purchase a commercial license from JUCE. Therefore, people can see how Cabbage does it in the source code. On the other hand, only developers themselves would be able to follow the C++ code and figure out how it all works, and if they go to that much trouble, maybe they’ll just start contributing to Cabbage.

As it stands, if we want to sell Cabbage plugins without violating the terms of the GPL. they need to be open source. If enough people were still interested we could look at getting a commercial license for JUCE. But it just got costly. I have to say, this is merely my understanding of things. I could well be wrong. Either way I’m happy to discuss whatever options you may think of.

1 Like

my immediate thought is that there should be some way for a developer to get his or her own commercial license for JUCE if they want to make non-GPL plugins and use that for cabbage. So it should be possible but not the default. So you don’t need one built into cabbage, just a way to add a commercial licence. Would that work?

Is there a different SDK for proprietary vs GPL JUCE?

No, the SDKs are the same. I think the only way it could work would be for Cabbage to sell a closed source port that users can use if they wish to sell any Cabbage instruments. Having them gain their own JUCE licenses would cause a serious mess because Cabbage is GPL-ed, and they have no authority to change. Only I do. I could release a closed source version, if I was able to get a commercial license for JUCE. But that costs quite a sum. So we’re back to square one :persevere:

so then part of cabbage is compiled into the binary, not just a tool used to compile the plugin. Thats the part I didn’t understand. It does make it more complicated.

Can the csound instrument be kept proprietary somehow but the cabbage part remain GPL? I think some commercial devs would go for that.

Cabbage doesn’t actually compile anything. It simply duplicates and modifies a dummy plugin that can dynamically become any instrument described in the users end code. Users can license their Csound code in any way they wish, but because of the way Cabbage is written, the Csound code can be accessed by the users. I’m of the opinion that anyone who would buy a Cabbage instrument would do so because they can’t afford to spend time learning Csound, In which case the Csound source code is of little use to them. I imagine anyone with a good grasp of Csound will simply develop their own instruments.

1 Like

Update…
The guys at ROLI are soon to announce a new license which will let users publish closed source software, so long as it contains a splash-screen saying made with JUCE. This means that I could potentially offer a version of Cabbage that can hide Csound source code from users, thus protecting whatever synthesis and processing algorithms users may wish to keep secret.

Anyway, I’m not sure how much interest there is in this. I just thought I would put it out there.

2 Likes

Hey Rory, first of thank you for creating this amazing piece of software. :slight_smile: I just discovered it today and this is the best solution yet for me to develop audio device ideas and have them actually exported as viable VSTs to be used directly in the DAW. The only downside for me currently is, that from what I can see in the thread currently if you share a plugin, you always share the c-sound code as well. I believe having an option to have it encrypted, would be a great addition!

That’s kind of what my last post to this thread was about. I could now potentially create a closed source version of Cabbage that would hide the Csound code from users. However, it would involve a little bit of work, and I think I would probably change a nominal fee for it. But it’s certainly something I would be willing to explore.

Sold, i would totally pay a small fee for that!

Matt

Leave it with me.

Hey Rory. Just joined the forum to say “+1” - I would VERY gladly pay some $ for a version of Cabbage that allows me to commercially sell my VSTs.

I also see something on the JUCE site that says for $700 (or $35/month) you can get an “indie” license, allowing you to use JUCE commercially and with NO splash screen (assuming you make less than $200k in yearly revenue). Maybe this is what you were referring to in your post 16 days ago. Not sure.

In any case - please let me know how I can contribute to a fund for you to get this license!

The indie license is 700 a year, or 35 a month. There is no way this project could ever afford that! Right now, after about 8 years of work, donations have reached a staggering €40! Not that I’m complaining :wink: That’s a good night out!

I think the ‘personal’ license, with the JUCE splash screen makes most sense. There are no on-going costs and I can produce a closed source version of JUCE without paying the JUCE license. Note that any closed source version will be the same as the open source version, apart from the fact that .csds will be hidden from the end user.

The $700 is a one time fee, not a yearly thing. Nevertheless, I get your point. I’d be happy to start there :+1:

Ah, I thought it was yearly. If anyone produced something in the future that they realy didn’t want a splash screen for, I would happily accept $700 to remove it for them :joy:

JUCE only costs 35 a month or 700 for a perpetual license if you are generating up to 200k USD annual revenue. You can even still use the free version of the JUCE license for up to 50k annual revenue if you have the “Made with JUCE” tag that pops up now in the bottom right.

https://shop.juce.com/get-juce
https://juce.com/juce-5-license

As far as satisfying Steinbergs extention of the GPLv3 for the VST export capability here is their license:

//-----------------------------------------------------------------------------
// LICENSE
// © 2017, Steinberg Media Technologies GmbH, All Rights Reserved
//-----------------------------------------------------------------------------
This license applies only to files referencing this license,
for other files of the Software Development Kit the respective embedded license text
is applicable. The license can be found at: http://www.steinberg.net/sdklicenses_vst3
This Software Development Kit is licensed under the terms of the Steinberg VST3 License,
or alternatively under the terms of the General Public License (GPL) Version 3.
You may use the Software Development Kit according to either of these licenses as it is
most appropriate for your project on a case-by-case basis (commercial or not).
a) Proprietary Steinberg VST3 License
The Software Development Kit may not be distributed in parts or its entirety
without prior written agreement by Steinberg Media Technologies GmbH.
The SDK must not be used to re-engineer or manipulate any technology used
in any Steinberg or Third-party application or software module,
unless permitted by law.
Neither the name of the Steinberg Media Technologies GmbH nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
Before publishing a software under the proprietary license, you need to obtain a copy
of the License Agreement signed by Steinberg Media Technologies GmbH.
The Steinberg VST SDK License Agreement can be found at:
http://www.steinberg.net/en/company/developers.html
THE SDK IS PROVIDED BY STEINBERG MEDIA TECHNOLOGIES GMBH “AS IS” AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL STEINBERG MEDIA TECHNOLOGIES GMBH BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.

b) General Public License (GPL) Version 3
Details of these licenses can be found at: http://www.gnu.org/licenses/gpl-3.0.html
//----------------------------------------------------------------------------------

and also they have a forum thread with a FAQ that has some info : https://sdk.steinberg.net/viewtopic.php?f=4&t=286

So it looks like you would either have to contact them to satisfy their license and do closed source work OR satisfy the GPL v3

I think the main thing you may want to consider is that you may want to provide their license… Cabbage seems to satisfy the GPL v3 version of the agreement, but if someone wants to do closed source you may want to make it clear they have to contact you. Maybe a link or a blurb of text in the dialogue for exporting to VST?

Personally if you ask me, I think GPL v3 rocks, You can still generate revenue from your work and providing source code is not likely to impact your profitability in a substantial way…

The conclusion I have come to is that VSTs are rampant targets of piracy, and I am still unsure how much profit stands to be gained by marketing tools in that saturated marketplace… SO why not forgo all the extra work and licensing and just give the hackers what they want and charge a more affordable price for things so that people don’t have a reason NOT to pay it…

If there were cool unique little instruments for $9.99 or so… available with source code, then end users wouldn’t immediately think “oh thats outside my hobbyist budget, lets search for a torrent”, they could likely pay the cost and that would be more convenient than tracking down a hack, and the pirates wouldn’t have anything to hack because there wouldn’t be copy protection and the source code is right there.

I think the reality is most electronic musicians are hobbyists anyway, and they just want fun and novel new plugins to play with but can’t afford hundreds of dollars for them because they don’t make much (if any) profit from them anyway.

This is where I see iOS APPs being a great way to go and model to learn from, with AUv3 you can release plugins and there is virtually no piracy because the ios store is integrated, and the pricing model is more reasonable for hobbyists to obtain the apps… hell yeah Ill pay up to 20 dollars sometimes for a cool new music toy, but usually more like 5, and with that kind of pricing theres no reason to look for hacks cause who has a computer but can’t afford 5 dollars. At that pricing tier why would people even spend the extra effort hunting for a crack.

Just my thoughts. Unless you have some groundbreaking new idea for a proprietary DSP algorithm in which case you would be developing from scratch anyway and not likely to be reading this… there isn’t really any unique intellectual property to protect then and your only potential value in your work is in a unique combination of other peoples work, so then GPL v3 and opensource is a great route, and your value is in the conduit you provide to endusers, and in allowing other developers to “see what you did there”.

Just to reitterate and make it clear, its 700 one single time and you get perpetual license, or 35 a month :wink: and the revenue limit with that tier is 200k annual… also the free option of having a “made with juce” thing that comes up in the corner for a few seconds with a revenue limit of up to 50k is great option for people who are just starting out and unlikely to generate 50k in their first year(s).

This is quite an old thread. Cabbage now has a JUCE license. Check out the last 3 plugins produced by these guys. They are all built with a pro version of Cabbage which encrypts the Csound source and replaces all Cabbage branded with their own company name. If they need any new widgets specifically for the purpose of their plugins I’m happy to write them as long as they are then fed back to the community in the GPL version of Cabbage.

The bottom line that people are free to sell as many Cabbage instruments as they like. If they wish to package their plugins under their own company name, and hide the Csound code from the end user then they can buy a pro license. If people are interested in the pro version just PM me and we can chat about it.