My electrical engineering master's program was a disaster. My advisor gave me three different projects:
- The first one was interesting, challenging, and solvable, but initial peer review of the paper revealed it to be irrelevant to the field. Essentially it was a very marginal improvement on an obsolete technology. The reviewers used colorful language.
- The second assignment was too vague to be actionable, and would have amounted to re-creating a huge, expensive physical modeling package. In order to understand this scope problem, I did a ton of research and coursework. (It would've been easier if the advisor had told me about the pre-existing software in the first place.)
- The third was basically just a programming task. I coded it up without learning much — no coursework related to this one. The program solved most, but not all, of its problem set. The advisor said this didn't matter, and to write it up anyway.
At this point, the degree seemed to lack validity, the field had lost its luster, and I was very literally losing my sanity. I stuck around and took some humanities courses, then in December 2008 told my advisor I'd take a hiatus. It was our last communication. I moved to another state and quit programming for a while.
I hate giving up. In September 2009 I started a writing a new program related to the third project, solving the same problem set. I worked on it on-and-off for a year until I got a job. (The problem was an open challenge. Unbeknownst to me, competitions were held in 2011 and 2012.)
Now, six years later, I'd like to polish up my independent work and post it to GitHub. Do I have any obligation to the advisor or to the university, or can I just go ahead and release it?
As long as your new project is entirely original and does not infringe any patents, there is no issue with releasing it.
It is highly unlikely your professor or old institution would possess any patents for a simple program. It's impossible for me to state anything with certainty as I do no know the nature of the software, but software patents are already fairly uncommon and legally questionable. You could look up the concept and professor's name somewhere like Google Scholar to be sure.
The primary concern would be if you re-used source from the time you were at the institution. This depends on the agreements you made with the university; if you are reusing components, you should review what you signed related to your master's program and possibly contact the institution's legal department for advice. You could of course cut out such components as well, which is what I would suggest.
The fact you learned something you later applied does not give those who taught it to you any legal or moral rights over the work. Especially considering it sounds like you did all the leg work in the first place.
If you are worried in an academic context of accusations of plagiarism, you could simply acknowledge where the concept came from / previous work in a README file. If you are not infringing patents or copyrights, there is no reason not to.