4 ms·
An interesting related question I've always had is what even counts as a contribution. For example, consider the three situations: (a) I open an issue about a
by ainar-g 5y ago
An interesting related question I've always had is what even counts as a contribution. For example, consider the three situations:
(a) I open an issue about a feature not working. E.g.: “When I press the button, the app crashes”.
(b) Same as (a), but I also point out the place in the code where the error is without providing any code to fix it. E.g. “When I press the button, the app crashes, and I think that it has to do with a null pointer dereference in function pkg.foo()”.
(c) Same as (b), but I also provide a simple diff to fix it, but not a formally submitted merge/pull request.
The (c) sounds close enough to a contribution but not quite. And I'm not sure about (a) and (b).
- dmurray 5y agoI think there's a clear distinction in most jurisdictions between (c) and the other two. Let's suppose this bug report really was written on company time, with company equipment, related to the company's business, so we don't have to argue about how far-reaching your employer's rights should be here. In (a) and (b), you've provided services to the code maintainers. Perhaps your employment contract forbids you from doing that, just as it might prohibit you doing project management or fixing their plumbing. But the recipient of those services hasn't done anything wrong. In (c) you've additionally created intellectual property, to which you have some rights, including copyright. The code maintainers can't use that code in their product unless you assign them certain of those rights (or unless they can avail of other exemptions like fair use). But those rights might not be yours to assign - they might be your employer's. In addition to you potentially breaking your agreement with your employer, anyone republishing this code may be infringing your employer's IP rights (maybe under good faith, maybe you indemnified them... But still your employer has a legitimate complaint).
- em-bee 5y agowhat is to be owned in case of (a) and (b)? at the most extreme (a) means that you are opening an issue in the name of the company. the question then is: were you allowed to do that? (many contracts forbid you to speak in the name if the company unless explicitly instructed) and (b) would mean that you contributed a company resource to the project (namely you contributed yourself, your knowledge, etc), but it is the company who gets to say where you are allowed/supposed to contribute to those would be the extreme interpretations, and in both cases, once it's done, it can't be taken back. only code that you write can be taken back, so if you report a bug to me, i may not be able to use your solution to fix it, but your company can't stop me from knowing about the bug and then fixing it myself. so (a) and (b) may be a contract violation and they may fire you for it, but that's all they can do. only (c) contains actual code that they can revoke if you didn't have the right to contribute it.
- butlerm 5y agoCopyright is not likely to subsist in a one or two line bug fix. There isn't enough creativity involved.
- em-bee 5y agoyes, true, but you can expand the code in (c) until it is big enough to matter. that's just a quantitative issue. (a) and (b) are qualitatively different. the report could be contain a few hundred lines of text and it still would be the same case.