Forum rss-feed

Forum

Software: Open source the software!

Most Recent

written by: mikemilton

Open-sourcing EigenD allows Eigenlabs to continue with those major things and continue heading towards their goals for the software, while allowing other developers to try experimenting in different directions for things. Of course, Eigenlabs could later absorb some of the 'other directions' into the mainstream. Regardless, I believe that everyone benefits if EigenD is open-sourced


Agreed, completely - HUA

m

written by: TomSwirly

Wed, 18 Nov 2009 17:40:17 +0000 GMT

Hello, Eigenlabs!

Your new controller is very promising! But now your poor programmers are going to be overburdened with work.

So why not get out of the software business and open source the software? You don't make money on it - you make money selling instruments. Of course, you'll still need to be the chief developers on the software to make it fly - but I'll bet you could make it fly faster and further if you had other programmers doing it for their own purposes...

I see that at least part of the software is written in Python, a very nice language where it's possible to do fast development with medium-sized groups. There are a zillion hackers out there and the moment you let them in they're going to do amazing things with the instrument, and each one of them will buy one.

You can keep tight control over the trunk and still allow people to make their own experimental versions of things. I'll bet some Mac hacker (not me) might make a really nice GUI for you without you really even trying...


written by: john

Wed, 18 Nov 2009 21:37:04 +0000 GMT

Hi Tom

We're already committed to open sourcing the main EigenD code early next year. I'm not sure under quite what license as yet (and boy the books about open source licenses are not exactly thrillers, I can tell you, I'm reading two of them right now), but it will be open source. I personally am very committed to the principle of open software, and we have a couple of things to decide about our model before we push the button. We'll keep you posted.

And yes, lots of Python (Browser is Wx), and C++ for the fast stuff. And if you can write a GUI that represents the collective musician driven anarchy that is an EigenD system well I will buy you a very nice dinner!

cheers

John


written by: barnone

Wed, 6 Jan 2010 21:48:30 +0000 GMT

John,

This is really fantastic and I will say that your statements around committing to release as open source and also your bio which shows that commitment where probably the factor that tipped me to buying an Alpha on faith alone. So you can chalk up at least one Alpha to this commitment.

So far i love the instrument and I am very much looking forward to it's release as Open Source. I'm a software developer in my day job and contribute to other open source initiatives in my spare time.

Thx,
Chris Lloyd


written by: 0beron

Wed, 17 Feb 2010 13:30:33 +0000 GMT

I'm another software developer that jumped at the chance to get hold of an Alpha. (Don't think I'll be able to do much in FORTRAN though, good job eigenlabs uses python then)

There's quite an overlap between musicians and the technically minded, and all those people are going to want an Eigenharp all the more when they realise they can build their own tricked out setups. I look forward to all the possibilities this opens up!


written by: john

Thu, 18 Feb 2010 13:41:44 +0000 GMT

An update for you all:

*It's now looking likely that the main system software will be released under GPLv3. This may well be quite shortly, there are just a few details left to sort out, mostly technical in nature.

*There will be a binary component, the instrument drivers for the Alpha, Tau and Pico. These contain software that interoperates with some of our patents, forming part of them with the physical systems, so it is not possible to release this code, particularly under Gplv3. . It will be covered by a separate, proprietary licence. There is a pretty clearly defined interface between these drivers and the rest of EigenD now and there isn't much you would be able to do to them, so we don't think that this is going to be much of an issue for developers. We may be able to lighten this restriction for the Tau and Alpha drivers after a software audit as most of the clever DSP occurs in FPGA's in these instruments, bit it's not going to be legally possible for the Pico.

*There may be components of our system that are not released under the GPL, such as software instruments. These may either remain as proprietary products or more likely have a 12 months delay between the proprietary release and the Gplv3 release. Subscribers to our ongoing support contract (yet to be priced, but a fairly low cost annual subscription is likely) will get the software instruments a year ahead of non subscribers. This is to encourage you to pay for support, so that I might continue to be able to feed the software team and justify continued investment in new software instruments. To start with we'll probably make at least one of the software instruments available, so that people can see how they work. We may make all of the current instruments available, we haven't decided yet.

*There will be a Contributor Agreement that people who can contribute will need to sign. This has become pretty normal now in the OS software world in projects of this nature for a variety of reasons. Mark Shuttleworth has kindly agreed that we can use the Canonical one that Ubuntu now uses (he is making an effort to get everyone to agree in the OS world on a standard form of CA and I think this is a great idea) thereby saving us a load of money with the lawyers. The CA basically assigns the copyright to Eigenlabs for contributions. This allows us to both defend misuse of the GPL for our code and also allows us potentially to still licence proprietary versions of our software to other vendors in the future - possibly an important revenue stream for us - without having a copyright nightmare. I know this means that contributors will be helping us with no reward themselves (wouldn't that be nice if that were actually manageable?), but there's not much avoiding this if we want to release under Gplv3 instead of some other, less accepted licence. All I can say to this is that we'll be releasing code that cost millions of pounds to write (and rewrite, and rewrite) - I think it's a reasonable deal.

John




written by: catoro

Thu, 18 Feb 2010 15:28:49 +0000 GMT

Great news John!! thanks for such a complete information.... will this mean that we will have a developer micro-site in the eigenlabs web page soon?

Thanks again for making this instrument .. I´ve become addicted to my eigenharp and play it on an everyday basis, I see no limitations and found true that this is the most expressive electronic instrument ever invented...

Regards.

Carlos


written by: john

Thu, 18 Feb 2010 17:03:33 +0000 GMT

Hi Carlos

The main reason for the delay (the 'small technical matters') in releasing the code is really about making sure that we have some sort of support structure for developers - a Subversion checkout, section of the website etc. This is a bit complicated and requires some resources, all of which are flat out getting both Windows and the new software out there at the moment, so it's slow going. Jim and I are finally nearly done on the legal front. I doubt there'll be much in the way of useful documentation around the code for some time. We may end up taking an intermediate step on the way - a bare bones, code only view that people can play with.

I think that we'll probably get to the developer side of things sometime after Musicmesse in Frankfurt - after we've got the Windows release out there and stable.

John


written by: karmacomposer

Fri, 19 Feb 2010 01:45:20 +0000 GMT

John,

What is Eigenlabs' stance on sound and vsti developers creating sounds and virtual instruments directly for Eigenlabs instruments?

I just received my Pico and will be developing my existing instruments for it - especially when you have the PC drivers sorted out.

Thanks for your reply.

Mike


written by: john

Fri, 19 Feb 2010 08:02:00 +0000 GMT

Mike

We're all in favour of that. If you have an existing VST instrument then there will be a transition path towards a full EigenD instrument (which is a very different beast from an AU or VST) that should make it possible to add the expressivity in in easy(ish) steps. Jim is shortly to publish a RFC (request for comments) for AU/VST developers that will lay out our proposals for this, using the existing Au/VST MIDI Api to encode additional performance data. The idea being that developers can avoid a fork of their code to start with. Quite a few companies and people have been talking to us about this, and i think we're going to put an instrument store up as part of our site to sell native EigenD instruments from third party developers later this year, if you're interested.

John


written by: steveelbows

Fri, 19 Feb 2010 18:50:13 +0000 GMT

Thanks for all the info.

Is there a list of your patents somewhere? I thought it was fairly normal to list patents in some way with either hardware or software so until you mentioned it in this thread I wasnt sure if there were any patents involved.

As for paid support in future, Im certainly up for giving you guys some money for major new features such as new instruments, but I think you'll need to be very careful when you bring this stuff in, the devil is in the detail, certain kinds of support or updates not being free will likely make some people angry if the detail seems unreasonable. Id probably rather just pay for new instruments and for support tasks such as them writing a custom setup for me, rather than, for example, having to pay or wait a long time for general software updates. Coming up with a few different options and getting your existing users to vote or at least discuss them might be a nice way to handle this stuff.


written by: geert

Sun, 21 Feb 2010 12:04:25 +0000 GMT

Hi John,

Regarding your outline of the open-source plan. I like most of it, except the binary part. I understand why you think it's necessary, but I feel like it would defeat most of the purpose behind the open-source release.

For me, open-sourcing is only partly a matter of allowing contributions, it's mostly a matter of ensuring that in 50 years anyone can still maintain the code so that our instruments will work on what will be the computers of that time, even if Eigenlabs might not be in existence anymore. If the instrument drivers are binary, this is impossible and we're locked in. This is particularly important for the Alpha and the Tau since they're quite a substantial financial investment.

Take care,

Geert


written by: strangeglow

Sun, 28 Feb 2010 07:30:33 +0000 GMT

I'd like to echo Geert's comments. Open source for contributions is a wonderful way to extend your platform. You allow people who are more interested in a particular use case to extend your product. You get the benefit of new features the user gets the benefit of not having to wait for their feature to rise to the top of your development queue.

In my 30 years for working both as a musician and a developer for tools for music and media, I've gotten stranded plenty of times. Either because a company went out of business or because their priorities shifted and they chose to abandon support for the platform I used.

Sometimes, open source efforts to reverse engineer the product have been given it new life, the editor for the original Nord Modular, being an example. In other cases, people have had to keep cranky old computers up and running. The MacOS 9 computer in my studio being an example. It would be a shame to see an Alpha relegated to the closet.

Open sourcing the software in its entirety helps to insure that people will be able to us your wonderful hardware 30 years from now.

As for protecting intellectual property, it's been my experience that patents and a good legal department are the only sure answer. Otherwise, anything you design can and will be reverse engineered.

jw



written by: john

Sun, 28 Feb 2010 08:05:38 +0000 GMT

The issue with patents is a thorny one. For a variety of reasons (mainly do do with not permitting TIVO isation of EigenD) we are going to release under GplV3. This implicitly allows our patents to be used - effectively eroding their value to near nothing. This is the purpose of GplV3, and I both understand and agree with it. There is not a lot of point in companies releasing code into the public domain which is protected by a patent then simply waiting to enforce it - this is submarine patent territory and I consider it quite immoral.

We have just had an operational board meeting here at Eigenlabs where we discussed this at some length and we have agreed what we think will be a decent way forward. Firstly, we may well release the Tau and Alpha driver code after an audit as we believe that this will not have any patent implications. In the case of the Pico, which definitely would, we are going to put the code in escrow with our lawyers with the instructions (to be made public here) that if Eigenlabs ceases to exist for any reason, or ceases to maintain a release of the driver (specific details of these criteria to be decided) then the code will be released under the GplV3. I will be looking to make this sufficiently binding that any potential future acquirer (and to cut off any rumors right now, no there is no one in the frame for this at the moment!) of Eigenlabs cannot wriggle out of it and that the developer community will be comfortable with the terms.

Any commentary on this is welcome...

John


written by: geert

Sun, 28 Feb 2010 08:09:10 +0000 GMT

Hi John,

I personally would find this perfectly fine and think it would solve all the concerns I had. Thanks a lot for taking these matters to heart, it really once more shows your dedication to the Eigenharp and its player!

Take care,

Geert


written by: strangeglow

Mon, 1 Mar 2010 00:38:15 +0000 GMT

John,

That certainly addresses my concerns as well. I want to say how much I appreciate your open communication about this,

jw


written by: barnone

Mon, 1 Mar 2010 01:48:47 +0000 GMT

Great idea John.

It not only makes potential buyers feel more confident buying into the platform, but it also makes developers feel better contributing to the platform as well. No developer wants their efforts to be potentially dead-ended down the road.


written by: catoro

Mon, 1 Mar 2010 10:42:58 +0000 GMT

Hi John...as a software developer I´m really concerned about licenses and their usability... no efford are short when it comes to such an important matter.

It makes me sad a little the fact that the pico (which is the eigenharp I own) will be the last benefited from user developments but I understand that some legal issues have to be suited.

However I´m interested in developing some ideas I have for the pico, so if there is any way some of us can start working or at least teasting the API I will be definitly interested...

Cheers.

Carlos


written by: john

Mon, 1 Mar 2010 14:29:21 +0000 GMT

Hi Carlos

You will still be able to develop for the Pico - it's exactly the same EigenD you run for all Eigenharps and the Pico Agent looks almost exactly the same on the outside as the Alpha and Tau. The fact that it will be a binary component shouldn't affect you too much. In fact the driver Agents are rather boring and I can't really see people wanting to play with those much, there's a whole lot more mileage in the rest of the EigenD world.

John


written by: barnone

Sat, 8 May 2010 00:30:15 +0100 BST

john said:
The issue with patents is a thorny one. For a variety of reasons (mainly do do with not permitting TIVO isation of EigenD) we are going to release under GplV3. This implicitly allows our patents to be used - effectively eroding their value to near nothing. This is the purpose of GplV3, and I both understand and agree with it. There is not a lot of point in companies releasing code into the public domain which is protected by a patent then simply waiting to enforce it - this is submarine patent territory and I consider it quite immoral.

We have just had an operational board meeting here at Eigenlabs where we discussed this at some length and we have agreed what we think will be a decent way forward. Firstly, we may well release the Tau and Alpha driver code after an audit as we believe that this will not have any patent implications. In the case of the Pico, which definitely would, we are going to put the code in escrow with our lawyers with the instructions (to be made public here) that if Eigenlabs ceases to exist for any reason, or ceases to maintain a release of the driver (specific details of these criteria to be decided) then the code will be released under the GplV3. I will be looking to make this sufficiently binding that any potential future acquirer (and to cut off any rumors right now, no there is no one in the frame for this at the moment!) of Eigenlabs cannot wriggle out of it and that the developer community will be comfortable with the terms.

Any commentary on this is welcome...

John


Hi John,

Any updates on this? I think it's particularly important to put the code necessary to maintain the host software systems and drivers in escrow as a first step. Since code in escrow is not made public, this could be done without needing to iron out all the details of the open source license etc.

I know you are committed to these things and you have spoken about them above and in other forums, interviews. It would be nice to see some progress here like the escrow so people that have invested in very expensive instruments like the Alpha and those that are considering it have some peace of mind.

An annoucement of such would probably calm fears from other potential Alpha buyers especially due to the high cost and expected longevity of the instrument. Longterm support is certainly a major concern. My decision was made after reading about your commitment to open source.

While I am sure you are committed to this personally it's difficult to predict the life of corporations, board of directors, investors, etc...

I'm sure there are lots of legal issues around the proper licensing model for opening the source itself. I think it's right to wait until you have that properly worked out.

Let all hope Eigenlabs is wildly successful and these options are never used.



written by: axiomcrux

Sun, 9 May 2010 00:43:53 +0100 BST

Im really looking forward to when I can get a max/msp eigenharp object for my pico, so that I can make max/msp/jitter audio/visual instruments for the eigenharp pico (and hopefully max4live as well). Im really not a fan of this belacanto language, I'm much more into the methods of modularity, visual patching and such. This is really what i envisioned when I first heard about the eigenharp. I was under the impression that it would be completely configurable and easy to do so. As it stands though it seems like that will be quite a while away, if at all, simply because the current direction of belacanto and trying to navigate and configure things all with the keys of the instrument seems very convoluted to me.

As it stands, Im a huge fan of the hardware and quite frustrated with the software. I am anxiously looking forward to the development to go open source so that hopefully I can start to use the instrument the way I want to.



Please log in to join the discussions