RE: [EE] I say it is spinach . . .
Chen Xiao Fan <[email protected]>
| Newsgroups | gmane.comp.hardware.microcontrollers.gnupic,gmane.comp.hardware.microcontrollers.pic |
|---|---|
| Message-ID | <3B8AEFFADD3DD4118F8100508BACEC2C07F774A2@spex> |
I forward this to the GNUPIC list. this is really a good writeup. Open source is not the solution to everything. I like to use open source software. However it is not reasonable to require everybody to open source their software (free or not free). And open source does not equal to GPL. One can always ask, but the decision will be from the owner of the software. Regards, Xiaofan -----Original Message----- From: Byron A Jeff [mailto:[email protected]] Sent: Sunday, August 21, 2005 12:55 AM To: Microcontroller discussion list - Public. Subject: Re: [EE] I say it is spinach . . . But I think that the original point was removed in all of this. That point was that since tools like MPLAB are free anyway, why not distribute the source. BTW Olin, I'm with you that if the tool is for sale, then there are very few good reasons to have an Open Source distribution policy. The only exceptions that seem reasonable to me is when the software is tied specifically to a piece of hardware that's for sale. For example Wouter's XWisp software is open source. He's also released the firmware so that do it yourselfers can build their on WISP628s. But I would have no problem if the firmware was closed so that you had to buy a kit or chip. But it's really helpful to have the protocol and host software open so that interested developers can do mods. You've done that with EasyProg and I really appreciate it. I'd like to address why free tools may not benefit from being open sourced. The reason you don't do that is because of the support issue. Releasing source, especially when you allow redistributions of modifications can cause a support nightmare. This happens when some developer soups up the code in some way, releases the changes, and some less knowledgeable end user starts to use the modified code base. When something goes wrong, the user asks for support from the original author instead of going back to the modifier of the code. Of course the end user won't bother to do the right thing in an Open Source situation, which is to go into the code themselves and ID the problem. Even if something is free, and open source, users expect someone to take the responsibility of support them and their problems. And that support issue can take an inordinate amount of time when you factor in someone else's modifications. I've seen this with my Trivial Programmers. Users modify my design, or use some obscure PIC programming software with the programmer, then come to my forum to ask why it didn't work. I've never seen or touched their mods or software. So I have no clue as to why they are having problems. I do the best I can. But I'd really be annoyed if Trivial was my way of making a living, because I certainly could use that time in a more effective manner. You can try to manage it with policy. Policies can include no redistribution or centralized distribution only. Support can be limited to originals only. But it's still going to take time to sift through requests that some in that violate those policies. It's tough to get good Open Source models that work in small scale profit models. There's no cut and dried right way to do it. It requires having a user base that's segmented enough where you can gain profit from the "convenience" segment while gaining mindshare and contributions from the "DIY" segment. Also there needs to be a big enough pie that a single entity could not easily handle the entire convenience segment. This is necessary simply because as Olin has pointed out, someone is going to try to use your work to get some profit from the convenience segment. And if that segment is small enough that a single developer can handle it, there's no reason to share that segment with someone who hasn't contributed much to the effort. I've on occasion thought of licensing models where DIY developers gain a cut of the profits based on the amount of their contributions to the project. Almost like a co-op. I know it can create a situation where one developer doesn't have to shoulder the entire development, distribution, and support roles for a project. OTOH it can create opportunities for individuals to get some compensation for contributions to the project. I don't think I researched the issue enough to have a good model in mind. But I think there may be a niche somewhere in there that effectively blends the commercial and open source aspects of such projects. Just some thoughts on the subject. BAJ