Microsoft Corp. on Wednesday will announce that it is giving its Most Valued Professionals access to the more than 100 million aggregate lines of Windows source code, which includes all versions, service packs and betas of the Windows 2000, Windows XP and Windows Server 2003 products.
Deletomn: absolutely agree with you. It’s a competitive world out there. It’s up to you to sell yourself when doing something like that. If you have no other contracts at the time, maybe you’ll take the job for $2000. Or maybe you can argue that you’ll be working in the company’s offices when someone overseas has little chance of doing that. Or you can re-license the source under a different license, e.g. one that would allow the company to sublicence derivative works of the customized version without having to open-source them. But it’s only logical that a potential buyer of your serviec will try to get a bidding war going, in order to get the best price/performance/quality/risk ratio.
As you said, it doesn’t matter whether your application is OSS or not. You need to compete to sell software. And the market *is* very competitive, at all levels.
As for the idea of using software you wrote during your spare time as a springboard to get a job, it happens a lot.
Wow, one moment. Let’s say that you developed a free software application. Not necessarily getting $0 for it, BTW, developing on-demand applications you can get a pay for your work hours, as 3 friends of mine have been doing for decades (giving away the source code so the client can get help if they are not around).
So the thing is you get money from the support of the software and added services. That means the more clients the merrier. People spread the software for free, to the point it gets enough fame to be used by enterprises and particulars that need commercial support and can pay for it… and the source code has your copyrights on it (yeah, GPL license allows you to enforce copyright, and many apps include contact addresses in the source).
As the original author, it’s pretty possible that enterprises that would never know neither use your software if it had restricted access, were interested in getting support for it from you, when you made that same software for a company with particular needs (that happen to be the same of other companies).
After all, it works in commercial closed source too. I just wonder how many enterprises decided to buy windows licenses after having pirated it for some time and gone to the point where they need professional support. If we think your way, it looks weird that MS gets such revenues when the piracy in the home market of its products is so high
So in the end, what you are getting is more free publicity and distribution of your software services company’s products (that aren’t necessarily made as a hobby). What’s wrong with that?
Quite interesting: http://www.pbs.org/cringely/pulpit/pulpit20031023.html
Dekkard: If we think your way, it looks weird that MS gets such revenues when the piracy in the home market of its products is so high
Ummm… No.
I never said it was impossible to make money off of OSS or CSS. In fact, nothing you said contradicts what I said as far as I can tell. So, I don’t see the point of “If we think your way”. No offense intended.
Dekkard: giving away the source code so the client can get help if they are not around
Which is great. However, a program doesn’t have to be “Free” (like with the GPL) to allow this. Any number of different licenses are possible.
For example, someone could give their client a license that is summed up like this:
Here’s the source, this may be modified by a third party under the following circumstance: You have contacted us and asked us to perform the modifications, but we are too busy or you can’t afford us.
In the event we are all dead, complete ownership of the source code passes on to you and you may do with as you wish.
Dekkard: So in the end, what you are getting is more free publicity and distribution of your software services company’s products (that aren’t necessarily made as a hobby). What’s wrong with that?
Nothing is inherently wrong with it. Nothing at all. Of course, you also get free publicity and distribution if you produce “Freeware” rather than “Free” software. You can also get some of that with “Shareware” as well.
The difference being that everyone will have you source code with $0 “Free” software. Which may or may not be a good thing. It all depends on what you’re trying to do and the overall situation.
I never said it was impossible to make money off of OSS or CSS. In fact, nothing you said contradicts what I said as far as I can tell. So, I don’t see the point of “If we think your way”. No offense intended.
But you were mentioning the fact that your free software can be distributed by anyone for $0 as a bad thing, when MS (internet explorer, messenger, warez of its products) and Sun (jdk) are examples of commercial companies that get benefits from said conducts among users.
“A friend can copy it for me” applies to Windows CDs too (as you said) and legality apart, it helps MS to have Windows as the real standard in home desktops.
For example, someone could give their client a license that is summed up like this:
Here’s the source, this may be modified by a third party under the following circumstance: You have contacted us and asked us to perform the modifications, but we are too busy or you can’t afford us.
In the event we are all dead, complete ownership of the source code passes on to you and you may do with as you wish.
So, what’s the difference with the GPL? That they won’t distribute the source unless you don’t do your work? That would happen with GPL too, the client wouldn’t immediately forget your services just cause your software is GPL. You get the same benefits and drawbacks using the GPL, but the client isn’t tied to you if you do your work badly (even if you do it badly for an affordable price). That’s the part where incompetent enterprises get drawbacks, and competent enterprises can “steal” their clients. But that not only sounds logical, it happens in real life.
The difference being that everyone will have you source code with $0 “Free” software. Which may or may not be a good thing. It all depends on what you’re trying to do and the overall situation.
Freeware ($0, no code) doesn’t get support from the community in the form of patches and save you development work. Plus free software with available source code gets help when porting it to different plattforms, as windows, linux, macintosh, freebsd, other unix systems, etc. (that’d mean more users of your software). If you are going to distribute your product as freeware, why not give away the source code? Is there a valid reason for that? You say it depends, but I have a hard time thinking about a situation where giving away the program with no source code gives an advantage.
Dekkar: But you were mentioning the fact that your free software can be distributed by anyone for $0 as a bad thing, when MS (internet explorer, messenger, warez of its products) and Sun (jdk) are examples of commercial companies that get benefits from said conducts among users.
Ummm… The reason I mentioned it as a bad thing was because I was answering a question made by another poster, who was asking if there was any way to “make”/”force” people to pay for GPL software.
In short, my answer was “No”.
Of course there is no way I can think of to force people to pay for non-“Free” software either. You can implement copy protection, <smiles> but from my experience the only people that really hurts are the pirates with no ability/connections and your paying customers who may have slightly unusual needs, but are in no way violating their license.
Dekkar: So, what’s the difference with the GPL? That they won’t distribute the source unless you don’t do your work?
The difference is that they are legally required to come to you first, if possible. With the GPL, they have no obligation to do so. Not everyone will automatically consider you first.
It’s a small difference, but an importance difference. If my memory servers me well, it’s kind of like the difference between the BSD license and the GPL license. The BSD license does not require people to release their changes to the source code if they distribute. The GPL license does.
This is similar, because the GPL does not require your client to consider you first. This “license” does.
Also, my point was that you don’t need to follow the GPL to give people the advantage you mentioned which was as you recall, giving away the source code so the client can get help if they are not around.
Dekkar: That would happen with GPL too, the client wouldn’t immediately forget your services just cause your software is GPL.
They might not come to you to do the work or even think about you, there is no requirement to do so. Some people do not care about doing the “correct” thing. Meaning… They don’t always go with the most competent or the people they have a good history with, etc… They just don’t care and have no intention of ever caring. And there’s others who may promptly forget about you by accident and may not worry about it unless you can some how “make” them worry about it.
Dekkar: That’s the part where incompetent enterprises get drawbacks, and competent enterprises can “steal” their clients. But that not only sounds logical, it happens in real life.
Not only will competent enterprises be able to steal the clients of incompetent enterprises, but incompetent enterprises will be able to steal the clients of competent enterprises. Meaning, someone can steal your clients. Things don’t always work in the “ideal” way. That’s real life too you know.
Someone for instance could bribe the person who is making the decision of who to hire to modify your source code. While it could still potentially cost the company more money and be worse than what you would produce. Also, that competitor who is more incompetent than you, could end up with your source code and use it as a base to help them compete with you on other clients with similar needs. And as a result, both you and your client lose. Your competitor wins and so does the bribed employee.
As I said, things don’t always work in the “ideal” way. If it did, any license would work. There would be no real difference between them, because things would always turn out perfectly. The only real difference between licenses, is how things can possibly go wrong for both the person who produces the software, the client/customer, and the community as a whole.
Dekkar: Freeware ($0, no code) doesn’t get support from the community in the form of patches and save you development work.
It can. Binaries can be modified depending upon the license and even if the license doesn’t permit it, people could still do it, it would just be illegal.
Dekkar: If you are going to distribute your product as freeware, why not give away the source code? Is there a valid reason for that? You say it depends, but I have a hard time thinking about a situation where giving away the program with no source code gives an advantage.
Your “competitors” can always “borrow” what they like of your code to improve their own product. You may give your product away, but you may not want a competitor to take advantage of your source code.
This may not sound important at first, but if you are doing this to say advertise yourself, you may get more attention if people can’t just take whatever they want from your source code.
For example, say… SkyOS ends up having something absolutely fantastic in it’s kernel. And SkyOS ended up being GPL’d. Some Linux kernel programmers could just “borrow that and plop that” in Linux and SkyOS may never get the attention it deserves, because Linux now has that too. Of course, at that point, SkyOS could always borrow from Linux too.
For another example, say… Someone creates “Cool Graphics” which is a Photoshop-like program. The author decides to give it away and it has a number of features that GIMP doesn’t have. If the author GPLs it, the people who work on GIMP could decide to borrow what is good from “Cool Graphics” to make GIMP better, before many people ever realize “Cool Graphics” exists. As a result, many people may never hear of the author of “Cool Graphics”.
Also… Just because the source code to your program is available, that doesn’t mean someone will port your code or that they’ll even do a good job of it. It just means that they could legally do it.
As if that wasn’t enough, some people don’t see the advantage of having their software run on different operating systems. (Note: I am not one of those) I know some people who believe 99% of the world runs Windows and as a result who cares about the last 1%? And they figure even if they are off by a few %, (say Windows is actually 90%) it still doesn’t matter much to them.
Also, my point was that you don’t need to follow the GPL to give people the advantage you mentioned which was as you recall, giving away the source code so the client can get help if they are not around.
Yep, and your point was pretty proved. But I was trying to go further and explain how an incompetent enterprise can tie its customers with that license and have an advantage over other competent enterprises that would serve those clients better, if they weren’t tied.
They might not come to you to do the work or even think about you, there is no requirement to do so. Some people do not care about doing the “correct” thing. Meaning… They don’t always go with the most competent or the people they have a good history with, etc… They just don’t care and have no intention of ever caring. And there’s others who may promptly forget about you by accident and may not worry about it unless you can some how “make” them worry about it.
But you’re talking here about clients that in the first place don’t require extensive support, or have something very wrong going in their organization. I’ve worked with enterprises like that, and all of them came to alternative companies with not so restrictive licenses. Cause the ones you propose here (“you want fixes? go to us”) made them pretty unconfortable, specially considering many of those developers in the first place didn’t do a good work. Restrictive licenses didn’t help software companies, they still losed the clients. It’s not a solution, even if at first sight looks so.
Someone for instance could bribe the person who is making the decision of who to hire to modify your source code. While it could still potentially cost the company more money and be worse than what you would produce. Also, that competitor who is more incompetent than you, could end up with your source code and use it as a base to help them compete with you on other clients with similar needs. And as a result, both you and your client lose. Your competitor wins and so does the bribed employee.
Or someone could bribe an enterprise using closed source products to choose their other closed source product, that is worse (think Netware versus Windows NT). No license can solve that, of course. Free software is not worse here.
About the competitor choosing your source code and using it to compete with other products, I’ve seen the same things happening with closed source products. The same product, a stolen binary with credits changed, or even stolen source code. GPL, as I said, allows you to enforce copyrights as much as closed source licenses, and legally forces the competitors that took your work to open their source code.
Anyway, with the current developer tools anyone with enough resources can watch how a program works and copy it. Closed source is no longer a guarantee of your product not being copied.
Binaries can be modified depending upon the license and even if the license doesn’t permit it, people could still do it, it would just be illegal.
With GPL it’s not only legal, but you don’t need to manipulate assembler language from decompiled executables and most developers with some experience can help. In real world, doing reverse engineering on a binary of a recent app is too close to hell. Specially if you want to do a port so (ugh). Even if the license allows you to patch the binary, you really must be in serious need to do such a torturing thing.
Your “competitors” can always “borrow” what they like of your code to improve their own product. You may give your product away, but you may not want a competitor to take advantage of your source code.
So what? They can study your app without looking at the code and get things done the same way, even improving it. Copying your source code from the app, they’re legally binded to distribute it, credits and copyrights included.
For another example, say… Someone creates “Cool Graphics” which is a Photoshop-like program. The author decides to give it away and it has a number of features that GIMP doesn’t have. If the author GPLs it, the people who work on GIMP could decide to borrow what is good from “Cool Graphics” to make GIMP better, before many people ever realize “Cool Graphics” exists. As a result, many people may never hear of the author of “Cool Graphics”.
Credits, copyrights, and stuff must be there in the copied code, so his name won’t be lost. Plus the author can use gimp and sell support for it, or develop further on demand, in the case his open source product doesn’t sell anymore even after incorporating all the gimp improvements in his application. Think “cinepaint” versus gimp. cinepaint gets support and developers from Hollywood industry, and improvements are there to be ported to gimp whenever they want.
As if that wasn’t enough, some people don’t see the advantage of having their software run on different operating systems. (Note: I am not one of those) I know some people who believe 99% of the world runs Windows and as a result who cares about the last 1%? And they figure even if they are off by a few %, (say Windows is actually 90%) it still doesn’t matter much to them.
As I said, more ports = more available systems to run it on = more potential clients. Think about the many enterprises, cities and governments that start to use Linux and could use your app, plus the users of the prior systems.
Why think just of the “eternal” Windows users? Why limiting yourself to a market when you can easily reach others? Not wanting to see the advantages doesn’t mean they aren’t there.
Dekkard: Yep, and your point was pretty proved. But I was trying to go further and explain how an incompetent enterprise can tie its customers with that license and have an advantage over other competent enterprises that would serve those clients better, if they weren’t tied.
I accept that and agree. Every license has advantages and disadvantages.
Dekkard: I’ve worked with enterprises like that, and all of them came to alternative companies with not so restrictive licenses. Cause the ones you propose here (“you want fixes? go to us”) made them pretty unconfortable, specially considering many of those developers in the first place didn’t do a good work.
And I’ve seen the opposite happen at times. I’ve seen people and companies accept “restrictive” licensing, because they didn’t mind and understood the terms. I also know of people who “messed up” and the licensing wasn’t as good as they thought it was.
Myself… I believe in negotiating. If there’s something that makes me or you uncomfortable, we can discuss it. I’m not a “one-size fits all” kind of person.
Dekkard: Restrictive licenses didn’t help software companies, they still losed the clients. It’s not a solution, even if at first sight looks so.
And see… Not only did it not help the software companies, but the clients managed to walk away without the “freedom” of “Free” software.
Also note, I never said it was a solution. Each situation needs to be evaluated carefully, so you can determine the correct solution to the problem or if there is no solution to “try” to lessen the effects. Kind of like if you’re in a lot of pain, sometimes the pain killers you have won’t get rid of all of it, but it may lessen the pain.
Dekkard: Or someone could bribe an enterprise using closed source products to choose their other closed source product, that is worse (think Netware versus Windows NT). No license can solve that, of course. Free software is not worse here.
In that instance you, the developer, lose your client, and there’s a questionable win/lose with the client because they got free software, but likewise they also ended up with worse software in another area. Also, in the instance I mentioned in a single stroke your competitor acquired your source, so they improved their ability to compete with you in the future. Hence, some people would consider that a loss of two things.
Dekkard: With GPL it’s not only legal, but you don’t need to manipulate assembler language from decompiled executables and most developers with some experience can help. In real world, doing reverse engineering on a binary of a recent app is too close to hell. Specially if you want to do a port so (ugh). Even if the license allows you to patch the binary, you really must be in serious need to do such a torturing thing.
My point was it’s possible. Not that it is a pleasant thing to do. You said it doesn’t happen. I’ve seen it happen a few times and it’s certainly possible.
Dekkard: About the competitor choosing your source code and using it to compete with other products, I’ve seen the same things happening with closed source products. The same product, a stolen binary with credits changed, or even stolen source code. <snipped some out> So what? They can study your app without looking at the code and get things done the same way, even improving it.
(Note: I snipped some out, because I felt it was better to respond to these two seperate things at once)
Agreed. I never said it wasn’t possible. As far as doing it though, you said in your own post the following With GPL it’s not only legal, but you don’t need to manipulate assembler language from decompiled executables … In real world, doing reverse engineering on a binary of a recent app is too close to hell. … you really must be in serious need to do such a torturing thing.
Once again… It does not solve the problem, but it can potentially lessen it by making it more difficult for a competitor to “steal” your work and at the same time makes it illegal for them to do much directly. They would either have to go through the hell you described or recreate it from scratch. Either way… More work for your competitors.
Dekkard: Copying your source code from the app, they’re legally binded to distribute it, credits and copyrights included.
And… Some people pay absolutely no attention to the credits, copyrights, etc. Or even if they do they may look first to the person/company whom they got it from. For example, I have no idea who all worked on my copy of SUSE Linux. But I know it came from SUSE. Which was my point. To some people your name will become “invisible” as if you didn’t exist and hence your attempt to advertise yourself will be nullified, with those people anyway.
Other people will know of you. But you have to ask yourself, who’s attention are you trying to get? Those are the people you need to advertise to, either directly or indirectly.
In the case of SUSE Linux, perhaps many of those people were hired by SUSE. Then again… Perhaps not.
Dekkard: Plus the author can use gimp and sell support for it, or develop further on demand, in the case his open source product doesn’t sell anymore even after incorporating all the gimp improvements in his application.
What if he doesn’t like gimp? What if he doesn’t know much about it besides the part that was taken from his program? What if that part was changed enough that he doesn’t even know it anymore either? In which case how is he supposed to support it? And as I said before, some people may still not realize he even exists.
Dekkard: As I said, more ports = more available systems to run it on = more potential clients. Think about the many enterprises, cities and governments that start to use Linux and could use your app, plus the users of the prior systems.
In case it wasn’t clear before because of my choice of words or what have you… I agree with you on this. However, to alot of developers this doesn’t matter to them. That was my point.
As for me… I enjoy using many different operating systems and as a result I am a big believer in supporting different ones.
Dekkard: Not wanting to see the advantages doesn’t mean they aren’t there.
I agree with you. All I was trying to point out is that different people have different situations and also see things differently. I wasn’t trying to prove that closed source software is the best choice for developers.
Also earlier you said: You say it depends, but I have a hard time thinking about a situation where giving away the program with no source code gives an advantage.
One of my points was that to some people, they may not see things your way. They see your advantages as worthless, like with people who don’t believe in selling software for operating systems other than Windows. While they see that extra roadblock that they have of protecting their source code (even if it isn’t guarenteed to completely protect their program) as all important.
Just because you don’t understand their way, doesn’t mean that in some ways they don’t have advantages and just because they don’t understand your way, doesn’t mean you don’t have any advantages.
Also… Sometimes things that look like they won’t work, will in the end work. Sometimes things that look like they will work, in the end don’t work. Also, sometimes things that work today won’t work tomorrow and sometimes things that don’t work today will work tomorrow. All because the situation has changed even if you are unaware of it.
Well, I’ll try to make it brief, since it will get archived soon (thanks for answering even when it wasn’t in the frontpage).
You make a good point about making it difficult to competing companies to copy your work. But in the end it’s hard to make anything difficult enough to be copied, even if they have to make it from scratch. And even more, if you do an application really advanced (like physic engines), pray for not competing ever with a huge company in the same market. They have enough resources to make a better product. Open source helps here, cause the resources you can’t get from your money, you can get from allowing anyone to cooperate in development. Of course that means your business strategy can’t ever be built around selling CDs with the program on it. But after stealing some clients from local companies that have been around 10 years, I’d say they are longing for reliable, long term support. And that’s something I can guarantee them with open source, since they can contract programmers themselves even if there are no companies willing to help them.
My point was it’s possible. Not that it is a pleasant thing to do. You said it doesn’t happen. I’ve seen it happen a few times and it’s certainly possible.
Errr, no. I didn’t say reverse engineering wasn’t possible or didn’t happen. I too said it’s not a pleasant thing, even close to hell on earth when talking about recent applications, and I don’t mean mouse drivers or the like.
So in the end, I think we agree on one thing: both approaches (tying up clients and giving them total freedom) have advantages one over the other.
But my opinion is tying them up has only short term advantages, and in the end the only way to keep them is to be competitive enough. As long as they don’t find the need to look for alternatives, they’ll surely stay with you (unless the bosses like risk), and open source in that aspect gives more advantages than locking the code.