I'm new to the Arduino, and over the past month been messing around with different breadboard/shield setups. I have a few projects that, after some research and reprogramming(?), are working, but I don't know if I'm allowed to post the modified code anywhere.
This is one of the projects I modified to work with my parts, LCD CPU status display, but because I didn't originally write it, I don't know if I can upload my changes.
With GitHub, you can create an account, then create a fork of the original project. The forked project then becomes a copy that is yours, and you can make changes to it. Others will be able to see it, download, and use it if they wish. If you think the changes you made are an improvement or enhancement to the original, you can create a pull request, and that is asking the original author of the project you forked (copied) to merge your enhancements into the original. It is optional for the original author to merge your code into theirs. I believe there are tutorials and documentation online for how to do all that stuff with GitHub. The LCD CPU status display code you are talking about is on GitHub.
Another thing people sometimes do is create a blog where they write about stuff, post code, and pictures. You can share code by others, including modified versions of it, usually. If the original author does not want you doing that, they will post their code with clearly visible remarks that say you shouldn't, it's copyrighted and changes not permitted or something along those lines. That is rare, because if somebody doesn't want you to get their code and do stuff with it, they usually won't publish it on the Internet to begin with. It is polite and sometimes required to attribute the original author (leave any remarks and license statements inside the original code, and add your remarks as appropriate).
There is a section of this forum called "Exhibition / Gallery" where you can show off your project, post your code, schematics and other diagrams, pictures, etc. If you build upon somebody else's work and show it off there, the same protocol applies, it is good to attribute the original author by leaving original remarks and license statements inside the code.
Ok, got it. There was nothing but the code. I have added the info for the original author remarked out in my version, along with the author of the display lib code that I used.
I will be looking into GitHub to see if I can post my fork of the original, as someone might be using the display I am, and maybe they could use it to help their project.
There is nothing to prevent you posting your revised code in this Forum unless there is an unusually restrictive copyright attached to the original code.
If there is no license information that means all rights reserved. I think in general people that publish code online do it in the spirit of sharing and may just not have considered the importance of adding a license. In the past I have tended to assume this but recently just this thing caused a big upset and resulted in the author of an Arduino library removing it from the Playground so it is now no longer publicly available, see SMlib code is copied to github · Issue #4604 · arduino/Arduino · GitHub. I was peripherally involved in this situation and I knew what was happening was technically not in accordance with the copyright but I decided to not worry about it. In hindsight that was a big mistake. It seems obvious that there is a Fork button right on GitHub so it should be OK but it's not so simple, see copyright - How does GitHub's "forking right" cope with an "All rights reserved" project? - Open Source Stack Exchange. So I would recommend when in doubt to always ask permission of the author. They have been generous enough to share their code, the least we can do is to respect their wishes. It's best to make sure you have built a project on a stable foundation than having to take it down later after doing a bunch of work on it as happened with the fork of SMlib.
pert:
If there is no license information that means all rights reserved.
I suspect there would be plenty of scope for expensive and extensive legal argument if the author published his code on a website that was primarily dedicated to Open Source.
It would be different entirely if the Author could show that someone else had published the code without the Author's permission.
As far as my own small contributions are concerned I have absolutely no intention of wasting time or money trying to prevent others from using them. If I ever "invent" a money-making program you can be sure I won't be silly enough to publish it.