Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm currently running a start-up with a buddy and I noticed that some of my university assignments could be finished by simply copying some code from some of the programs we've developed. Are there any legal troubles I could run into? Or is this just a bad idea in general(as it is starting to feel right now)?

Sorry if this is in the wrong place I wasn't sure whether to place this here or in stackoverflow.

share|improve this question

closed as off-topic by gnat, MichaelT, jwenting, Dan Pichelman, GlenH7 Aug 20 '14 at 19:22

  • This question does not appear to be about software development within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

Answer is probably location specific. – scarfridge Apr 22 '12 at 9:04
professors usually hate that - it implies they are not teaching you anything you can't learn just by getting a programming job. Which is clearly the case, or submitting programs from work wouldn't be possible. But pretending otherwise is generally quite important to them. – psr Apr 23 '12 at 17:34
This question appears to be off-topic because it is about legal assistance – gnat Aug 19 '14 at 1:08
I agree with gnat, plus too broad as there's no specifics about who owns the code, locations, etc. etc. – jwenting Aug 20 '14 at 12:27
up vote 17 down vote accepted

Yes, it's legal, but universities play by their own set of rules, so I wouldn't push it. One of those rules is making you do assignments it seems you don't need. Were I in your position (and I was once or twice back in the day), I would tell your professor the assignment is trivial due to your past work, and if it's not okay to reuse that code, could he give you a more interesting assignment instead? Have a suggestion ready in case he asks for one. You can score some interesting projects that way.

Yes, it's more work, but you might accidentally learn something while checking off the bullet points of a degree.

share|improve this answer
+1 for suggestions that might get you more out of your education – tdammers Apr 22 '12 at 13:44
...not only that, but greater respect from your professor. – Will Klein Apr 24 '12 at 4:16

I can't see how there would be any legal issues where you would be in trouble; it's your code. Although you might want to make sure that the university doesn't claim that your homework belongs to them (I would be amazed if anywhere credible did this).

Your university/professor might have a problem with it, though. Most places don't let you submit something you did in the past or for another class (under the absurd banner of "self-plagarism"). Ask your professor if it's ok, it might depend what you're copying (some library code you wrote might be ok while copying the entire assignment wholesale might not).

tl;dr: Ask your professor if it's ok.

share|improve this answer
+1 "Ask the professor" is the right answer. If the answer is "no," suck it up and do the assignment. If you've solved the problem once, solving it again should be straightforward. – Caleb Apr 22 '12 at 3:33
+1 for "Although you might want to make sure that the university doesn't claim that your homework belongs to them" and -1 for "I would be amazed if anywhere credible did this".- I have no idea but I imagine most universities will have some form of claim or ownership rights over student inventions. – mattnz Apr 22 '12 at 4:47
@mattnz I would imagine that for grad students it is more common, since they're sort of employees, but for undergrads I only found 1 instance of somewhere doing it (a for-profit video game school). – Austin Apr 22 '12 at 5:05
@mattnz from an employee level yes, but undergraduate and graduate students typically retain ownership of their own work. I was surprised too. – Ronald Apr 22 '12 at 9:49

The point of any homework exercise is two-fold. First, learn any new techniques or methods related to the coursework. Second, practice those techniques!

If you have previously solved the same problem before, you've already completed the first point. Great! Now for the second point: it still matters. See this as an opportunity to master the material even further.

Now, I wouldn't say you can't refer to your own code that you have the rights to as a reference. Only use it as such though. Map out a new approach without referring to your old code. Code the challenging aspects again. Then, only after you've solved the essential aspects of the assignment, refer to whatever resources you have at your disposal. Go ahead and make adjustments, but at that point it's probably unnecessary to copy and paste anything, you'll only need to tweak your new code. You might improve on your original material!

Now, there is a rule in programming: Don't reinvent the wheel. I would say that takes a backseat when education is involved. You are reinventing all the time, that's the point of learning. If it is a lot of work and you really want to re-use some code, make sure it's OK with your professor, and explain what would be re-used.

share|improve this answer

Ask you professor then if he agrees, ask your company lawyer. If both agree it's OK. Decide if you are prepared to lose ownership rights to that code, and maybe more. Get your lawyer to tell you how much of the company the university will end up owning (or having claims to), and decide if you are prepared for it. If you make the next Facebook - will you lose it all?

Or, just do the assignment.

Or call me paranoid and just ask the professor.

share|improve this answer

As long as you developed the code exclusively yourself you might be OK, like if you are the sole developer for the startup. If you collaborated with another student or non-student that could present problems for you. I mean, you obviously know how to do it, so it shouldn't take that long to do again either.

share|improve this answer
  • It is your company's intellectual property.
  • Generally it's a good idea to put re-usable code that you have written in a shared assembly, so that you can re-use it later in your career, assuming it doesn't conflict with any signed contracts.
  • What might happen if your buddy will use the same code in his work?
  • What if your buddy makes a contribution to your API and you will no longer be able to explain certain aspects of the API?
share|improve this answer

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