The Big Question(tm):
How can we avoid redundant work?
My (somewhat utopious) suggestion:
maybe we should think in components that use/modify
a common
datastructure/model.
I like the sound of that. There shouldn't be any code
that we share. Because we all have different styles,
goals, languages and even licenses. An open standard
would be better as it includes the commercial software
developers among us (like me).
I think the bulk of redundant work is on standard
effects or modules. We don't want to define anything
as to how the modules work with each other, but maybe
draft some sort of a file that compliant programs
either a) convert to code and integrate into the app
at compile-time or b) can open as "modules" if it's a
modular synth.
For example, it's hard to design a filter. At least I
think so. So someone else designs one and releases it
under _whatever_ license they want. If the license
fits your app, you can use some sort of tool that will
convert this file format to code in your language of
choice and insert in the right place automatically.
Whether or not your app fits the correct license, you
can also allow your app to open these files.
I also already devised an xml-based format for modular
synth patches. It needs some work if it's to be an
open standard. It containts a lot of elements that
only make sense w/ my app (i.e., it expects features
that my app has that, to my knowlege, no other app has
yet). But, like I said, I think the most redundant
work is for stuff like filters, oscillators and so
forth. I probably won't benefit too much from this as
my app isn't open source (i'm releasing the midi
implementation in it, however, as an lGPL lib) unless
people release some files under BSD ;)
maybe i'll release some stuff from the app, but not
the app itself as open source.... hmmm...
__________________________________________________
Do you Yahoo!?
Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop!
http://platinum.yahoo.com