generative modeling for Rhino
It's been really exciting to see how the use of Kangaroo has grown over the last year, and all the great projects and experiments you are doing with it, so thanks to all of you who have been sharing your results!
I'm thinking about the future of its development, and there are many many ways it could be improved. More than I can possibly do all of on my own (in addition to supporting and documenting what is already there, and in between all that other life stuff, like earning a living and occasionally sleeping...)
The project has already been benefiting hugely from collaboration with, and contributions from, Robert, Giulio, Gennaro, Steve, David and others, as well as many helpful discussions with all of you on these pages.
To widen this collaboration, and speed the development of a tool usable by all, I'm considering going open-source with it. (no promises yet, just floating the idea)
So I'd be interested to hear any of your thoughts on this -
What do you see as the pros and cons ?
(I'm interested in a real critical dialogue here - not just "Yay we love open source, everything should be free and shared!", but really how can open source plug-in development fit in to the commercial world of architecture and proprietary software)
Which of you think you would want and be able to be part of this development ?
What would be the critical factors in this, and what would make participation more or less appealing ?
Which aspects would you want to get involved in (eg - improving documentation, adding new force types, refactoring and optimizing, new integration methods, better interface/interaction tools) ?
How would your current academic or work situation interact with this ?
Ideas on the various different flavours of open source - GPL vs LGPL vs BSD etc
Honestly, I think the plugin is very promising but the lacking in flexibility. The forces offered now is very limited and is not expandable via external scripting. For example, if we could have force classes that is shared and accessible (constructed) by custom VB.net /C# script, then the possibility is huge.
I guess opening source will make the technology more understandable for some, but depending on what language you are using, most users are still looking for exposed functions and expandability, not necessarily help scripting the tool.
However, I must say that open source software gave users (or at least me) the confidence that the software will be free for the future and that encourages us to invest time to experiment with it.
Thanks for your replies Victor and Mårten,
I definitely agree that user scriptable forces would be a big improvement and greatly expand the possibilities. I am looking into it, but it will take a while.
In the meantime - as I've said before, if someone has an idea for a new force, which they can write as a simple C# or VB script (which takes a set of points and numbers as input, and outputs vectors to act on those points), they can post it here and I'll see about integrating it.
and it's an interesting point about the importance of knowing whether something will remain free.
From my perspective an open-source kangaroo would be brilliant - I would certainly be interested in seeing how it could tie in with some of the form-finding stuff I've already built into Salamander and it would also be extremely useful to be able to build off of your base as individual projects required.
In terms of licensing, you might want to consider something similar to the license we are using for DesignLink - it is basically open source but with the requirement that any modifications to it are made available for inclusion in the original code.
Hi Daniel, interesting discussion. For me I think a key pro to this idea would be being able to understand and interrogate the accuracy of the simulations that you end up with in kangaroo. Your goal of creating a system that embeds physical rules into the CAD environment that allows play, discovery and creativity is a fantastic one, that you have met admirably. Once you create a model and start to get interesting behaviour out of it, the question becomes when to switch over to other analysis tools, and how much to believe what it's telling you.
I think open sourcing the code would give me a chance to learn more about simulation tools and also hopefully contribute. I think it would also help me validate the models I make with it and give me more confidence in any results.
I personally don't know enough about open source licences to comment, but it would be good to have a mechanism to ensure that the core project gets back the benefits of developments that happen out there in the wild.
I can offer some coding help (non-professional) and help with documentation.