Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Not sure how to title this as it's not just about that. But suppose that there is a software like .NET BCL, and you notice some places where you can make things much faster. It's not a great example but imagine you made several types like List<T>, etc much faster, i.e. 10x to 200x for each operation separately.

Let's say you told Microsoft about it, and asked if they would consider adding your changes.

What would you do if they give you only one of these options from this list:

  1. They will add the code, you will no credit or money.

  2. They will add the code, and give you credit, no money.

  3. They won't add the code, but try to make the same changes that you showed or explained or use your code as an "inspiration", but not credit or money.

  4. They won't do anything and you will just publish your code as your own library somewhere.

Considering this would be something you could use in your resume, would you consider any of these? Because if you say you helped Microsoft to optimize/improve X, Y, Z 100x, etc, it should help you in getting a job, right? I mean not solely but something that might not be found in almost no other resumes.

If they offer #1 or #3, what does that tell you about the company? Should you go for #4 then?

I mean #4 is fine but if .NET has 10 million users, you can maybe reach a couple thousands by publishing your stuff as 3rd party since most people don't download extra libraries I think.

Also this thing I am describing is not a full-time thing but more like "along the way" effort to increase your value since you did the work anyway. So it's not like you are doing it for them.

Or do you think companies can take this kind of stuff as hostile or offensive since you basically showed their software engineers, they can't write performant software with all their engineering degrees which you might not have.

It's fair to assume they aren't trying to be loose on performance for .NET

The reason I am asking about this is because some companies seem very hesitant on giving credit where credit is due. But credit is free, so why would they resist? If all it takes is typing your name somewhere, why would they refuse?

Any ideas on this?

share|improve this question
    
send them an improved sample and ask for work –  Steven A. Lowe Aug 24 '13 at 2:11
    
I am in contact with them for over 2 years wrt bugs, and feature requests along with a link to the said feature that I made already. So they know that I am good. But I don't think they would offer me a job because 1. I am not an engineer, but a seasoned user in similar apps. 2. Their only position available for people like me is interns and that pays nothing. 3. I am not inexperienced to be an intern and get into negative salary due to low pay and high living costs :) –  Joan Venge Aug 24 '13 at 2:15
    
I didn't say ask for a job, I said ask for work ;) –  Steven A. Lowe Aug 25 '13 at 19:07
    
Gotcha, that would work for me of course. But when I hinted they need X, Y, Z feature and it's really lacking in that area, I told them how I would address the problem using a number of tools to solve those problems. They told me they would really love, be delighted if I did this, but that's it. I assume they want it for free, otherwise they would just offer compensation. I find it bad that they consider their time valuable, but not yours even though you possess great skills that take a lot of time to develop :( –  Joan Venge Aug 25 '13 at 19:46

1 Answer 1

If they're smart, they will say to you "We are happy to get suggestions for product improvements from the user community, but we cannot accept code submissions from the public."

It is highly likely that they have a policy of writing every single line of code for their products in-house, to prevent any possibility of being accused of stealing your code, or getting into a patent fight, or running afoul of a copyright violation.

When they don't write the code, they license it or redistribute it under a preexisting permissive license. jQuery is an example of that.

Finally, even if they could accept your code, it would still have to go through a rigorous review process, and you're not on their staff, so they can't consult you during that process. Given their army of software engineers, it's also likely that your idea is not novel, or hasn't been discussed at least once before.

share|improve this answer
    
Thanks appreciate the reply. Although Microsoft and .NET was just an example in this case. In reality the company is very small (20-30 for the entire staff), and AFAIK they write everything in-house. But since the software is open for a lot of functionality, i.e. using the software itself to extend it further, it's easy to make changes yourself for whatever you might need to add/remove, etc. –  Joan Venge Aug 24 '13 at 2:02
1  
If they are open to receiving code improvements from the public, they have a formal process for doing so (pull requests on a Git repository, for example). Of course, you could always ask them. In addition, many companies express their intent to have their users improve the software by making the software extendible, with plugins and the like. –  Robert Harvey Aug 24 '13 at 2:03
    
Thanks they have their own platform like appstore for plugins but given the nature of the software it's niche within a niche. I asked them before about including my tools that are very agnostic, general purpose, but they only said it's possible but they would have to own all of it. Not sure what they exactly mean but I assume it means take all but give none. Otherwise they could just say that they will pay. It's tricky though because it's a company that doesn't pay much to its employee due to many reasons. –  Joan Venge Aug 24 '13 at 2:11
    
They said basically what I said: they have to own all of it. There has to be no possibility of you coming back and claiming ownership of the code in any way. For all practical purposes, you're writing the code for them as a "work for hire." Whether that rrangement results in getting paid money is between you and them. –  Robert Harvey Aug 24 '13 at 2:16
1  
There doesn't have to be compensation. There just has to be a transfer of copyright from you to them. –  Robert Harvey Aug 24 '13 at 2:33

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.