Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Education

Open Source vs. Academic Dishonesty? 75

Raul654 asks: "My university has a very vague Academic dishonesty policy. I have a small webpage with some code I have written (mostly C/C++ and Verilog), GPL of course. Someone warned me, rightfully so, that I might be in violation of the policy. Long story short, I have an appointment with Judicial Affairs in a few days (my doing), and I want to go in there with some persuasive arguments for why I shouldn't have to pull the page." The problem here is that the code on his webpage is code from previous programming projects. It basically boils down to the tradeoff of a student who feels pround about his work and a professor who doesn't want to interfere with the lesson plan he probably worked hard to produce. How do you feel about this?
This discussion has been archived. No new comments can be posted.

Open Source vs. Academic Dishonesty?

Comments Filter:
  • Ownership (Score:4, Insightful)

    by QuantumG ( 50515 ) <qg@biodome.org> on Friday December 27, 2002 @02:45AM (#4964822) Homepage Journal
    Don't know about your school but at mine we own everything we write. So the lecturers can maintain copyright on the exam papers and such but anything we create for project/assignment assessment is our own. Regardless of your school's policy on plagarism you are entiled to publish and distribute the work as you see fit. As this right is granted to you by law, it supercedes any policy that the school may wish to enforce.

    Frankly, why doesn't your lecturers make the assignment work a little harder to cheat. Surely there are projects that can be significantly different each year that you couldn't just go to a textbook, for example, and get the same answers as are on your web page.

    In any case, ask them to put their opinion in writing so you can give it to a lawyer. If they don't want to then ask them to please stop wasting your time.

    • Re:Ownership (Score:3, Interesting)

      by Raul654 ( 453029 )
      I agree with you that legally, I am entitled to publish this material. I know that one overzealous computer science professor actually makes his students sign contracts that give legal ownership of their code to him to prevent just this.

      But by the same token, is the university not entitled to come after me for suborning plagurism. That is basically the crux of their arguement, that I am giving students the capability to cheat. So their arguement would be that yes, I can publish it yes, but it has reprocussions.
      • Re:Ownership (Score:4, Interesting)

        by QuantumG ( 50515 ) <qg@biodome.org> on Friday December 27, 2002 @03:04AM (#4964886) Homepage Journal
        That is basically the crux of their arguement, that I am giving students the capability to cheat.

        Bah! So do text books.
        I know that one overzealous computer science professor actually makes his students sign contracts that give legal ownership of their code to him to prevent just this.

        And I believe that would not be a legal contract. They tried to do that at my university. The school was sued and they lost. It is no longer the policy.

        • Re:Ownership (Score:3, Informative)

          And I believe that would not be a legal contract.

          No. A legal contract has to be entered into willingly by both parties. Coercion on either side invalidates it, as I'm sure you found out.

          I REALLY hope Raul's prof's read /. :-)
          • Oh, he will. I am definetely emailing him the URL of this thread as I write this. (He and I are on good terms, he's one of my favorite profs, so it's not a big deal)
          • By coersion, I assume you mean "Sign this or you don't pass"

            How does this differ from the typical "Sign this or you don't work for us"? NDA presented by a lot of places? There are other schools he could enroll at..?

            Unless of course the 'agreement' is only presented after he's enrolled and paid fees.
            • I'd guess its just down to a test of whether the contract is determined fair by the court, based on whether the clause is there for a valid reason, and whether its a reasonable restriction to make.

              An NDA is vital for a company to function. It's already pretty much taken as read that an employee will not share trade secrets, and this is just a formal agreement to that effect.

              Signing over the rights to your code to a professor is not so clear cut. His role is to teach the students engineering, not to make a profit from the software they produce. Therefore he has no need for ownership of the rights. The remedy is far too extreme for the problem it prevents.
              • Signing over the rights to your code to a professor is not so clear cut. His role is to teach the students engineering, not to make a profit from the software they produce. Therefore he has no need for ownership of the rights. The remedy is far too extreme for the problem it prevents.

                I agree completely. Also, in the comment you responded to, this signing over of the rights (before the code is even typed!) to the code is NOT like an NDA you sign for a company. As for when it happens, it would have to happen AFTER you've enrolled. A professor can't make someone whose not even a student sign over rights.

                Now, back to the NDA, I signed one when I worked for the Dell plant in Lebanon, TN (which was about 3 years ago, and the NDA was only for while I was working +2 years). It was presented and explained to me that this was needed. After reading it, I of course asked several questions, then signed it (needed the job). Trade secrets does NOT equal source code to programming projects in a university, no matter HOW you try to slice it. To present it as such should get the person claiming such laughed out of court.
            • In the case of employment, the employer is hiring the employee. In the case of School, the STUDENT is hiring the School.

              As for non-compete agreements, they are often found to be unenforcable, especially if they are not presented until after employment starts.

          • excuse me for this reality moment, but there is always "coercion" when contract is made. think about it.

            nobody
        • Re:Ownership (Score:3, Insightful)

          by joshuac ( 53492 )
          ---snip
          And I believe that would not be a legal contract. They tried to do that at my university. The school was sued and they lost. It is no longer the policy.

          ---snip

          What school is this? Being able to point to them as an example may help someone avoid this happening to them.
          • Re:Ownership (Score:2, Informative)

            by QuantumG ( 50515 )
            University of Queensland in Australia. For some reason I think you yanks would have had the extact same thing happen over there long long long before someone bothered to contact a lawyer in .au.
            • University of Queensland in Australia. For some reason I think you yanks would have had the extact same thing happen over there long long long before someone bothered to contact a lawyer in .au.

              You know what, I would be offended... if this weren't true.
            • When was this, just out of curiosity? I did CS at UQ from 1998-2000, and I never heard anything about it. Did this happen before or after that period?
              • 2000 was when it was concluded. Knowing the Australian legal system, it was probably filed long before that. I believe it is still mentioned in the school literature on "copyright information for students".
      • Since the website you are hosting the code on is owned by the school, they may have more rights than if you were posting the code elsewhere.

        Certain rights and freedoms have been known to be limited when they are done from within an organization, school, or company. For instance, schools have the right to search students' lockers, and companies generally have the right to monitor and read e-mail sent by their employees.

        The solution, in my opinion? Get a website elsewhere, not hosted on the schools webserver. Then, include a link which points to the other page saying something like,
        To view code I have written,
        you may visit my other website [slashdot.org]. Keep in mind that by clicking the above link you confirm that you will not use any code located on the other website for plagiarism, or for school assignments. NOTE: It is a violation of the University of Deleware's Academic dishonesy policy [udel.edu] to use this code for completing your own assignments.
        Once your code is no longer on the school's servers, they really have no case on you, as you could argue that if students really wanted, they could probably search Google and find examples of the code on other websites. By including the disclaimer below the link, you are essentially putting the onus on the student who visits your site. If they do use your code, they do so knowingly disobeying the Academic dishonesty policy.
        • To the extent that the proposed paragraph is intended to constitute a contractual limitation on the use of the software (rather than a mere reminder of the UofD's academic dishonesty policy), I think it would probably be inconsistent with the GPL.
          • I suppose technically so. A slight change in wording is all that's necessary. The GPL requires you (see paragraph 2.a) to indicate any changes to the source prominently. Also, the modified program itself may only be distributed under the GPL.

            Thus, the GPL itself makes it hard to cheat by block-copy without being noticed. The real problem is that of someone consulting the "answer" while they write their own independent implementation, and there is little you can do to stop it.

            Here's how I'd word the paragraph, personally.

            To view code I have written, you may
            visit my off-campus website [slashdot.org]. Some of these programs were written as solutions for problems presented in class at the University of Delaware. It is therefore worth noting to current University of Delaware students that using or consulting these programs in order to complete your assignments may be in violation of the University of Deleware's Academic dishonesy policy. [slashdot.org]
            --Joe
      • I would never sign away my rights to take a class. Luckly, different professors teach the same class at my school, so if a professor tried to make me sign such an agreement, I can tell him/her to shove it up their ass.
  • by LWolenczak ( 10527 ) <julia@evilcow.org> on Friday December 27, 2002 @02:45AM (#4964825) Homepage Journal
    Move your page off campus that way they can't really bitch. And if they do bitch, just say it's not yours.

    Besides, Shouldn't the professor attempt to improve his/her lesson plan,instead of using the same old stale plan each year? Is it too much to ask of the professor?
    • And my professors are basically split 50/50. The ones who give projects (in one particular case, to design a MIPS processor using Verilog) objected to the page, arguing that he can't change the project all that much year to year.
      [I better be careful about what I say -- I know he reads slashdot quite often :)]

      Meanwhile, another professor of mine (Field Theory) said that he fully supports what I am doing, and that the professor cannot seriously expect students not to converse about the assignments, and that this is only the next logical step.
      • I think it is a widespread problem. It is hard to come up with significantly different projects every year because the projects chosen are trivial. Well that's just the problem I say. Isn't it wasteful to have the best minds in the country all doing the same thing, over and over every year? I've found that the quality of work produced in universities is equal or greater than that produced in industry -- when students are given correct guidance and a chance.

        Everyone is always talking about academia needing more industry involvement. Well, here's your chance. Universities should accept project suggestions from industry and charge a fee for the resulting work. That money can go into providing better education for the school and reducing the cost of going to college, resulting in more education for more people.

        If you don't like the commercialism, get students to work on open source projects. My school took up this practice last year. They adopted 7 or 8 open source Java projects and got students to write documentation, re-engineer UML diagrams and write extensions. This work is either being contributed back to the projects involved or the project is being developed "in-house" so to speak, at the university.

        There's plenty of way your professors can be creative in designing their projects each year. Hopefully they can do it so that a student's work does not go to waste! Although many professors appear to have the attitude that nothing a student does can ever be worth anything.

        • I agree with you completely and only hope I don't run into this problem myself as I am going into college for Computer Sciences, and I have to take several programming courses to pass.

          This is definitly an Ask /. that I'm going to follow.

          And Raul, please keep us up2date as to what happened!
        • I don't think the commercial projects for a fee is that practical because of communications problems. On the other hand, Open Source is perfect because transparency is always a positive value in doing the work.

          This is actually something I'm very interested in doing if I can find the right situation, partners, funding and such. The concept is to set up a non-profit that can help establish open-ended project lab courses using the faculty and facilities of the institution. Industry connections would be good as well, but ideally it would be to commercially apply the Open Source project work. I'm thinking as much about Open Hardware, but any real project is always multi-disciplinary anyway. Hardware, docs, software, supporting web-sites, etc.

          The biggest problem with school programming projects is, as you said, they are too trivial. I worked full time for two years before going back to finish my B.S., so when I went back, I had a much better apreciation for the problems of "programming in the large". Several hundred or even a thousand lines of code just don't give you enough complexity to see what the real problems are. Also, in the real world, you rarely are starting something from scratch, which is also a good feature of working on Open Source projects (large existing code base to modify/extend).

          • So what you are saying is that school programming projects are so far from industry to be useless at preparing students for the real world.
            • Well, that may be a bit extreme, but it's a fair assessment. In the real world (or so I am told) 90% of what you do is code maintence and support. Reading other people's coding becomes essential. In your average CS program, you end up doing precious little of both. (And, for the record, I became a Comp Engineering major because I didn't want to spend the rest doing such) Regardless, the above poster makes a valid point that schools would do well to align their courses more closely with what the real world desires.
            • Certainly not useless, because without some actual programming projects, you wouldn't even find out who can and cannot program. We have all seen students who struggle with the most basic of programs; not everyone has a mind organized to do programming work.

              On the other hand, beyond the intro courses, your teaching people who want to do this for a living so I would expect most projects small enough to include as part of a semester course to be too trivial to even be interesting. If they aren't, you should be thinking about a different major.

              In my coursework at MIT, there was very little in terms of programming projects. The one exception was the programming lab course that I have referred to in other comments. Even in the lab, you wouldn't be able to do the assignments by just copying a program since you had to write up what you did, why, and such. In the other courses, you wouldn't pass the final if you didn't understand the programming projects. Well designed courses are not easy to cheat.

              Actually, I was going to skip this course because it had been added as a degree requirement during my two years working, so it wasn't required for me. My advisor convinced me to take it, but in hindsight, I had learned most of this course while working, and I really wanted to take Doc Edgerton's strobe lab. Oh well.

    • So, he is asking about how to follow an ethics/conduct code and you are telling him to lie? Don't be stupid.

      Like the previous comment, you wrote it, you own it, I don't see how a reasonable policy can stop you, and if it's not reasonable, it probably isn't legal or enforcable. I wouldn't publish the problem that the code solves without permission because that isn't yours.

      The prof shouldn't be using the same problems term after term anyway, but it would be the student that uses your work for his/her assignment who would be being dishonest. In any case, if half of next terms class is trying to hand in a solution off this web site, how hard is it going to be for the professor to spot that?

    • Besides, Shouldn't the professor attempt to improve his/her lesson plan,instead of using the same old stale plan each year? Is it too much to ask of the professor?

      Yes this is too much to ask. Developing good lesson plans take a lot of time, energy and feedback. Often it is hard to tell what problems will be good ones until you have a class full of students take the problem home, poke and prod it and then return with results. When you teach core material, this is not unreasonable because the same set of ideas needs to be communicated and understood by the students.

      Besides, unless you are taking the class for the second time (ie failed it), this is the first time you will have seen the problem.
  • fuck the prof (Score:2, Insightful)

    He makes lesson plans for the benefit of his students. It's bullshit when profs are lazy and don't want to change their plans from year to year.

    so what -- he "worked hard" to make the lesson plan X years ago. Especially as a CS prof, he should be changing with the times anyway.
  • Well, by law, you own what you write. Therefore, you can publish it how you see fit.

    However, I think that the anti-collaboration atmosphere of many academic institutions is a fundamentally flawed idea. Of course, in a single person project, publishing source code would be tantamout to academic misconduct. And that is exactly the problem. In the "real world" everyone, including programmers, has to work together. And that means sharing ideas. I think many student projects don't reflect that necessity, and as a result, students are ill prepared for collaborative work.

    Can you imagine the state of human progress/accomplishment were we not allowed to collaborate? It would still be the dark ages. Your professor should be encouraging the best solutions possible given the resources available to a student.

    However, my screed here doesn't address your question. I think good code structure, syntax, and form could be incredibly useful to a student. Perhaps the best solution is to publish the source code in the interest of academia, but introduce errors into the code. That way if the student tries to copy verbatim, it won't work. And by working through the errors, they are learning, albeit in an indirect manner. If they are using it to see an implementation of a particular algorithm, they can see what they need. And if the code is too simple for random errors, then why does it need published if it's that simple? There are a million hello world apps out there.

    As an addendum, the professor could write a program that creates a checksum from the basic skeleton of project code. Then, he* can run each assignment through the program and if it matches a previous assignment's checksum, he can verify it's origin.

    *note: I'm only using he because I haven't met a female comp/sci prof. I'm sure there are plenty, but I don't know any.
    • I think you are right on about collaboration. It is central to doing good work in industry and on open source projects. The final project in my programming lab was a three or four person project which gets a the problem a little bit, but joining an Open Source project would be way better.

      Your idea about introducing errors is pretty good. Did you hear the recent reports about Leonardo De Vinci's inventions? It seems he did exactly that. He put errors into the designs that would not be apparent until you actually built the device and it didn't work right. I guess this was on /., but I heard it on NPR as well.

    • Your professor should be encouraging the best solutions possible given the resources available

      And thereby need to make one lesson plan per student.

      I don't like lazy profs as much as the next /.er, but I don't want to see them killed trying to come up with 400 ways of teaching about indirect pointers.

      It's hard to think up brilliant lesson plans - hard enough to scare people into needing to use DMCA-style tactics so they can re-use them.


    • > I think that the anti-collaboration atmosphere of many academic institutions is a fundamentally flawed idea.

      I don't. I've been on too many projects beside clowns with a BS in CS who don't understand the most rudimentary concepts, and I get tired of carrying their weight.

      Yeah, maybe some senior-year courses should teach and require cooperation, but most of the degree program needs to be targeted at ensuring that that student has a basic clue about a few things.

      • Addressing competency is another issue. My grief is that students are left without the ability to seek help in an efficient, knowledgeable manner or colloborate effectively with others. While I agree that a BS in CS from many universities is worth it's weight in monkey shit, it is tangential from the fact that people need to collaborate in addition to learning the fundamentals of their field.
    • However, I think that the anti-collaboration atmosphere of many academic institutions is a fundamentally flawed idea.

      I agree. If I need help in understanding something, I can find it in a textbook, on the web, or ask a friend. In most cases, these will not only show me the answer, but help me to understand why this is the answer, which is after all the whole point.

      The correct solution would be to give relatively few marks for the code, and the bulk of the marks for an explantion of how it works. This helps in many other ways. It's a lot easier for those marking to follow a description than to follow code, and much easier to spot total plagarism in English than in C++.

      Besides, some of that code was basic stuff that could be lifted verbatim from just about anywhere. I'm sure the example of a floating point adder can be found in many verilog text books, and heaps and trees are fundamental software building blocks that should be readily available in millions of places. Forcing the student to explain it will make sure he has to understand wherever he got it from.
  • by uawcpm ( 187419 )
    I really don't think you've got a leg to stand on.

    You're putting up completed homework assignments, and from your school's policy on the same, we have (emphasis mine):

    Academic honesty and integrity lie at the heart of any educational enterprise. Students are expected to do their own work and neither to give nor to receive assistance during quizzes, examinations, or other class exercises.

    Your university'll probably tell you to take the code off and warn you how you violated their academic misconduct rules. It's just the way these things work.

    Now, be that as it may, it seems to me that your best chance is to argue that those rules only apply while you're actually in the class. Now that you're done with them, your works have just as much right to be out there on the Internet as anybody else's BST and heap and whatnot. I mean, how many GPLed shells are out there alone? :>

    I wish you the best of luck, and I think it was definitely the smart thing to do to bring this issue to the university's attention before it comes back to haunt you, but I really don't think you're going to have much luck changing anybody's mind.
    • during quizzes, examinations, or other class exercises

      If you're going to quote something at least read it. He's not in a quiz, or an exam or a class exercise. It was an assignment.
    • I'm sure that "give assistance" refers to knowingly collaborating in cheating. That's very different from making code samples publically available to the world and expecting students taking the same class to be honest and not look at them. Also, note that he's initiated this meeting -- it's not like the university came after him.

      So, Raul654, if you're still reading, that's the argument I'd go with. Maybe put a disclaimer on the page that it is not intended to be used to violate university or class rules. This is clearly a valuable, legitimate resource for a lot of other people to learn from (say, self-taught students) and you should make that clear.

      And this is probably the first "My school is oppressing me!" complaint I've agreed, so it's not like I'm an "information wants to be free!" type....

    • I think that the key word here is "DURING". If he posted the material /after/ the assignment was due, then there is no breach of policy. By posting it after the assignments are due, it is then considered a reference, and not assistance. Many students posted CS programming assignments on the web when I attended Rutgers, and the only time anyone got in trouble was if it was distributed before the assignment was due. (however, this was several years ago, and policies may have changed).

      I believe he has a strong argument provided that he was using it to A) as a reference to/for himself and/or B) refers to this page to others when, for example, applying for a job or other similar situations.

      Although, after everything is said, you should really put this on a free web site, and just put a link to the free site on your .edu homepage...this would solve and conflict of interests.

      Last thought: Many University professors (the not so lazy ones, anyway) put old exams in the library for students to prepare with, because they *change the assignments* every year. If the professor was a little better, maybe this wouldn't be an issue, either. It can be argued that the classic programming techniques need to be taught, but there are a million and one program assignments that can be used to teach what an array, hash, function, subroutine, etc. are used for and how to incorporate them in any program. The entire purpose of *learning* programming (note: learning is not the same as memorizing) is to be able to write a program for ANY situation, not just some static textbook example. Maybe what you are doing will force the professor to change his ways in order to benefit the students in the real world, not just in theories!
  • Better idea (Score:4, Insightful)

    by 0x0d0a ( 568518 ) on Friday December 27, 2002 @03:21AM (#4964931) Journal
    I see why they're doing what they're doing. It may sound trivial to you to revamp a lesson plan, but

    1) The point of having an experienced professor is that they can *reuse* what they've learned for previous years. I had an excellent professor, Prof. Rudich, at Carnegie Mellon University. He put it pretty well -- "I've found what I consider the most important, the most enlightening problems I could turn up over the years. I could change them from year to year, but then I wouldn't be giving everyone the *best* questions I've found." And his assignments, while decidedly tough, really were incredibly good.

    2) It may sound really minor to you to swap in new programming assignments. However, it really isn't. Designing and debugging a lab is a lot of work. I've found that frequently labs aren't really solid and clear until their third year or so in use.

    3) It's really frusterating to professors who teach classes that might have this one as a prereq to have half the class have covered a particular issue (because one lab brought it up) and the other half not.

    I think a better solution, though perhaps a bit harder to enforce, is to allow students that have already written code to do whatever they want to with it. However, a copy of their code *must* stay on file.

    Then, professors can use moss [berkeley.edu] or something similar to look for duplicate code.

    I feel that this approach, which would let students do what they want with their own code, would also provide a more realistic simulation of a production environment. When you're writing commercial code, there's always plenty of GPLed code out there to take. But if your license conflicts with the GPL (or your contract states that you need to write everything yourself for some reason, which happens here), and you run out and break it and then get caught, you get hung out to dry.

    Attempting to stop the problem by preventing sharing of answers is difficult to prevent (if it's done privately), difficult to enforce (what if the person has graduated or is at another university that had a very similar assignment?).

    Finally, I want to mention that I support at least some effort to avoid cheating. Simply "trusting students" sounds wonderful, but utterly fails in practice...the level of cheating in CS courses astounds me sometimes. Yes, certain types of assignments are more cheat-proof, but are also less useful in teaching.
    • What's odd about what this school is doing is that they're trying to blame the victim of plagiarism, and they're trying to blame him before the plagiarism took place.

      I'm a physics professor, and I deal with cheating fairly often. I take it for granted that my students are going to share information about my classes whether I want them to or not. For instance, I hand out homework solutions every semester, and no way am I going to write a whole different set of solutions for a whole different set of problems every time I teach the course. I know that some students obtain copies of the solutions from other students. That's bad (because the people who get them will presumably use them to avoid having to think the problems out, and therefore won't learn as much), but there's not much I can do about it unless they turn in those solutions as their own work. This happens once in a while, and it's plagiarism.

      The thing is, it's my responsibility to watch for plagiarism. It's not MS's job to lock Encarta up tight so that nobody can plagiarize their art history paper from an Encarta article.

      I also can't help but feel that the guy is being a jerk by publishing this web page. He pokes his thumb in his prof's eye, so what does he expect? I don't think he's done anything illegal or dishonest, but he has done something antisocial, and it's obvious that there's going to be a response to that. If his code is so great that it needs to shared with western civilization, why doesn't he package it nicely, write good documentation, and put it on Freshmeat, where the grateful masses will incorporate it into all their open-source projects? If, on the other hand, this is all stuff that has been done before, then why be disingenuous?

      Reading between the lines, he probably didn't like the class, didn't like the prof, didn't get the grade he wanted, thought the projects were stupid, and is trying to get revenge. Well, did it ever occur to him that other students might disagree with him about the educational value of the projects? Did it ever occur to him that honest students don't want to have to compete against students who plagiarize?

  • I'm not going to talk about the law. I'm not going to talk about intellectual property or copyrights. I'm not going to say "fuck the prof." I'm just going to tell you how I think things should go down.

    I think the professor(s) who have an opinion on this matter should ask you to remove the code that relates to their lessons. They have a really good case for asking; you've basically put the answers to the tests on a web page, and while you are certainly entitled to do that, they're also entitled to wish you wouldn't.

    I think that then, having been asked, you should graciously comply with their request. The professors have a good point, and I think out of simple courtesy to them for all they've given you, you should respect their wishes.

    In other words, y'all should all just play nice, and everything will work itself out.
    • I have only recieved one request for me to take code down -- it came from a friend who happened to be TA'ing the class which we both took last year for which I had some code up. I complied with his request at once.

      The problem comes in because most of the assignments for which I have code posted are reused every semester (or every other semester, depending on how often the class is offered). What is the point in having code up if I have to take it down for 6 months out of the year?
  • by TheWanderingHermit ( 513872 ) on Friday December 27, 2002 @04:49AM (#4965153)
    ...all your code on the page is, as you pointed out, GPL. That means I (or anyone else) can download it and use it under the terms of GPL, if we so choose.

    And once we download it and use it in our projects (which might be nothing more than an example of good code written by students), as long as we do so under the terms of the GPL, if we so choose.

    And, while I have not read the GPL recently, it seems to me, I, or anyone else here, could download the code, use it as an example of good code written by a student on a website we have created to share with students and teachers. Which means while the University may not let YOU publish it (I don't see how they can do that -- there's this picky thing called the 1st Amendment and they can't take that away -- see pervious comments in other threads about coercion), any of us could publish it on a web page, under the terms of the GPL, if we so choose.

    At least that's my thoughts. I would have the right to publish your code on a web page, because I have no connection to the University. I have the right to publish my own code on a web page. Why should you have less rights to publish that material than I do?

    At least that's my take on it.

    Your prof might just have to look more closely at student projects to make sure it isn't copied.
  • by TheWanderingHermit ( 513872 ) on Friday December 27, 2002 @05:00AM (#4965170)
    After posting my previous response, I remembered that I had a similar problem in college. A friend and I were publishing magazines on our own. These were not sanctioned by the University and the only connection these mags had with the Univeristy was that the publishers were students (and most/all of the contributers were students). We had trouble getting a place to distribute them -- we both had to share a box with another low circulation magazine the University put out -- on some days my magazine would be in the box, on some days my friends, and on other days the University rag.

    We talked with the ACLU and the Student Press Law Center and were informed, quite clearly, we had to have the same access to the campus as the student newspaper, otherwise it was a direct violation of our 1st amendment rights. We were shocked that we had so much power and went in to meet with the Student Activities people. They basically told us they were doing us favors by letting us distribute at all, since our magazines were not University sponsored. We let them go around that bush a few times and try to jerk us around before we said "We talked with the Student Press Law Center, and their letter should be arriving in the mail today or tomorrow, as well as the ACLU." As soon as we mentioned the SPLC, the assistant director (a real weenie, if you'll pardon a technical term) was so startled, he almost dropped his cigeratte. He said he'd do what he could. My friend said, flatly, "You can try, but we want. And legally, we get." We didn't get fancy boxes on the walls to hold our mags, but from then on, when we published each month, we put our magazines in piles right next to the student newspaper distribution points. It was never a problem again.

    While we were in the meeting, they tried a lot of tactics on us, like "What if all 9,000 students try to publish their own magazines? We can't handle that." We countered with "Are 9,000 students going to spend the time selling ads and editing a mag, or paying to print it on their own? We don't think so." They said they had to look at the worst case possible. Once we told them about the SPLC and what we were told, that point came up again. We pointed out that if all 9,000 students published their own mags, they would either have to allow ALL to distribute or none.

    I mention all this because 1) I would think you have the 1st Amendment on your side, 2) The SPLC or ACLU might be interested enough to just write the 1 letter you need to support your case, 3) to make the point that being a student does not give them the right to take away your freedom of speech, and 4) even as a student, what you publish is completely covered by the 1st Amendment.

    Hope this helps!
  • According to this rules' pages :

    University regulations clearly prohibit the unauthorized possession, use, manufacture, distribution, or sale of alcoholic beverages on University property or in University facilities. In addition, students are prohibited from using drugs, possessing drugs or drug paraphernalia, and from selling or otherwise distributing drugs.

    Let me have some doubt about the application of this point ;)

  • Our contract clearly states that users sign over all rights to work created on their computers to the institution.

    You might want to look for the same wording.

    (And, the above is one of the reasons for my using a laptop to do my work. And also the reason why it all gets a Public Domain or GPL bumper-comment, even when it's just a couple of lines).
  • by shepd ( 155729 )
    It's been my experience that assignments where the answers are clearly visible are harder to cheat on, since you can assume everyone has access to the same code, your answer (as a cheater) will look more and more like theirs. I've seen 85% of my fellow students get a fail on a certain because of this (the teacher screwed up and put the answer to the assignment on his website).

    Assignments where the answers aren't provided are easier to cheat on, since perhaps half the students will do the assignment, and the other half will ask a random sample of the non-cheaters for answers (in reality it's much more like 80% do it and 20% don't, which makes checking for cheating that much harder). This leads to a far more varied set of answers, and so it is much more unlikely that a slightly modified assignment will stick out (unless the teacher has a photographic memory).

    If I were a teacher, I think I'd have to think long and hard about keeping the answers from the students for assignments. At least if I were to give them the answers, it would be far easier to check for cheating.

    [ No, I was one of the lucky 15% who didn't cheat. ;-) ]
  • ....just a thought.

    Also, I have been considering the following: what if an entity want's to distribute their code in a compilable, but not human readable (with implies it cannot be modified), form?

    For instance, the code is encrypted with a key that is used at compile time (weak) to decrypt the code for the compiler. The compiler has a built in key (weaker). The compiler uses a OTP to encrypt the code (slightly less weak). The compiler recognizes different tokens (wierd).

    I don't know why one would want to do this, but consider the mental exercise anyway.

  • They can copyright the exams, and also any official solutions (whether by students assistants or otherwise), but they do not control _your_ work. The "allowing others to copy" clause in your honor code should be read in context. It's not illegal to sell a gun. But it's illegal to sell a gun you know will be used for murdering someone. In this case, that would be when your classmate asks for a copy of the solution 5 mins before the deadline.

    Should they however be anal here, you can be too. If you want to want to make a really anal legal work-around, release your code under a special licence to all non-students of your University (no honor code violation there as far as I can tell), and as part of those licence terms, those licencees can only redistribute or create derivates under the GPL (you can do that). Your co-students can then get those GPL-redistrbutions, but then they didn't get it from you, but from a third party. Since that third party won't be under a honor code agreement, the University can't do anything. Of course that doesn't stop them from changing the honor code to prevent this, but hey...

    Also note that this work must be 100% yours, you can't do this with a GPL code you've modified or you'll be violating the GPL. But from the honor code I suppose it must be 100% yours anyway...

    Kjella
  • Not legally, of course, but youre definitely in violation of the school policy. The most obvious violation is where you specify the exact class and project number for each piece of code: Project #1 for computer engineering 323.
  • I didn't see anyone else make this comment yet. It is not your responsibility to make sure I don't cheat; rather it is my responsibility to make sure I don't cheat. The idea that you could be responsible for another student stealing your work is just as inane as if you were driving through an intersection, someone else ran a stop sign and hit you, and you got the ticket because you were in the way.

    This is the important issue here. There is a fine line between plagarism and reference, and it's the responsibility of the instructor and student to respect that line. If that responsibility falls on anyone else, then things get ridiculous.

    You can use this example on them, for which the answer is obvious. I go to the library, grab someone's thesis on some random topic, and turn it in as a research paper of my own. Common sense dictates that I'm in error, and I'm in trouble. But using the logic you've been given, the library is at fault for putting that thesis in a place I could access. If it weren't available, I couldn't have copied it.

  • GPL != Cheating (Score:3, Informative)

    by Chris Canfield ( 548473 ) <slashdot.chriscanfield@net> on Friday December 27, 2002 @11:21AM (#4966202) Homepage
    I'm positive it is against the rules of the GPL to re-release source code as if it were your own. I'm fairly certain that means anyone submitting GPL'd code for a grade is in violation of the terms of use, and therefore you are not giving help during a quiz, examination, or a class exercise. You had the right to define the copyright on the code, and while the University may or may not have the right to remove that code from their webservers (see thread on ACLU and newspapers), they do not have the right to remove that code from existence.

    That having been said, your professor does want to keep a solid, useful learning plan viable, and part of that is forcing students to think through the problems themselves. What are your goals WRT putting up this code? I know I have the urge to share everything too, but do the benifits of your goals outweigh the (slightly) decreased effectiveness of the class? Is there somewhere else that you could post the code that will minimize the danger to the courses, somewhere unlikely to be found by UD students?

    You are going into a negotiation with the university here. You *are* in the right, and I'm sure there are at least a half-dozen undergraduate or graduate Technology Law students who would love to rally to your cause. However, the professor has a very real concern, as cheating (and therefore not learning) is far more common and difficult to discover than anyone would care to admit. Even if in the murky are of coding your work would be used as a Cliff's Note instead of a cheat sheet, that is still not teaching students how to think about the problem. Ultimately, the best arrangement may be to simply take the code down and store it away in exchange for a signed letter of appreciation from the university (as a CYA measure).

    BTW, your other professor is doing his programmers a disservice by getting them used to unreasonably signing away the rights to their code. This type of activity is a plague on the entire IT industry, and has resulted in serious and unfortunate litigation from which the programmer always loses... even if it is just 20,000 in court costs.
  • From the udel academic honesty policy:

    Academic honesty and integrity lie at the heart of any educational enterprise. Students are expected to do their own work and neither to give nor to receive assistance during quizzes, examinations, or other class exercises.
    ---

    My university's academic honesty policy (Here, page through to p. 54 (PDF page 47) [hofstra.edu]) is much longer, but boils down to the same thing - Dont cheat, Dont help anyone else cheat, if you do we're gonna beat you to death with a textbook.

    Legally (copyright law - See This site [loc.gov]) I am not sure if code for school counts as a "work for hire" in which case the copyright is held by the school, or as an original work by an author (an "answer for a test" is considered a work for hire). I do not know how the interpretation would hold up in a legal challenge, but if you want to cover yourself you could place a notice in all of your programs claiming copyright (again, the "works for hire" clause may invalidate this. Check with a real lawyer.).

    As far as academic honesty policies go, I am SURE that I am in violation of the Hofstra policy (which states that students "must not only avoid cheating, but the apppearance of cheating" - something I've been WAITING for the chance to challenge since I find it obscenely offensive to allow a professor to presume a student is cheating if their paper is too close to the edge of their desk). Certainly by making answers to lab exercises available I violate this policy.

    Udel's policy seems more realistic - you are not to give or receive assistance on [any assignment]. I don't believe that you violate the spirit of this statement by making your work available, since your intent is (hopefully) not to have people grab your work, change variable names and submit it as their own.
    As for violating the LETTER of the policy - intentionally or not, there is the potential for this to be viewed as "giving assistance" on an assignment. Personally, I think it is no more harmful than talking about the assignment with another student, but in the strictest sense of nearly every academic honesty policy even TALKING about the assignments can be considered giving/receiving assistance.


    BASICALLY, this really long post boils down to "See what your school says, then come back and tell us (or at least me)". Whatever you do, try to get it in writing that your site does not violate the academic (dis)honesty policy of your university, that way if someone decides they dont like it in the future and you need to defend yourself against allegations of cheating/collaboration you have something tangible and not "But Mr. Foo in legal said X last year...", only to find (as too often happens) that Mr. Foo has either left or changed his position on the issue.

    Best of luck
    • I believe the money flows in the wrong direction to be a work for a hire -- You pay them. Although, this argument may not be sufficiently complex to impress the litigious.

      Co-authorship is a potentially stronger tack. How much direction or advice does it take to be considered a joint-work?
      Is it "But ,I told you to use verilog,'" or
      is it "But, you followed the design I put on the board?"
  • Most of the comments people have made fall into the two obvious categories. Note that having to make choices like this are one of the important things to experience in college! My own opinion:

    From a legal perspective, your answers are your own and you're probably entitled to do what you want with them. The one exception may be if you've signed some sort of contract with the school in which you surrendered certain specific rights, and that doesn't seem likely.

    From an ethical perspective, you would seem to be in a somewhat more difficult position. Your answer may be terrific -- simple, elegant, efficient, something to be truly proud of. The same could be said for some students' essays for questions like "Summarize the economic conditions that restricted Great Britain's actions during the American Revolutionary War." Putting either on the Web adds to that enormously useful collection of information. Identifying them as answers to class assignments or test questions within your university community does a potential disservice to the professor and to future students.

    You seem to have come down on the side of the decision that the good from posting the GPL source (to you as well as others) outweighs the problems of a professor having to build a new project or some students failing to learn because it was easier for them to cheat. Personally, I think I would have made the choice the other way.

  • I checked out your site, I think you should keep it for interviews if somewants to see what you can do -- all c.s programs are not created equal, but otherwise...
    You have source code for projects with course numbers; you have GPL mentioned at top of the page, but aren't following the GPL as you placed no copyright notices, or mention of GPL on the source files themselves.
    You're best argument would be to GPL it , the right way, then claim that any student who would use the work in an assignment would violate civil copyright laws etc-- THAT the license protects againts abuse, as the student would have to cite your source. If you don't win with it, you can at least save face.

    But, as it stands right now, I'd say prepare to lose. If it was ancillary stuff, like config files,
    a new emacs mode, or even component pieces like a class, a widget, or library that you used to solve a project, but is not in itself the project, then I'd feel otherwise. )

    If it was your own explorations on the side, I'd feel differently, strongly in fact.
    For FUN introduce typos: swap project1 and project2, and course numbers, wait until someone does steal your stuff and turn in the wrong project.
    • I absolutely agree with you on this point. This is my fourth year teaching programming (C, C++, Java, Visual Basic) and while I have not yet had students asking permission to publish their assignments on the web, this thread started me thinking about how I would respond to such a question.

      It is a wonderful feeling, as an instructor, to see students taking pride in their efforts and wanting to display their new knowledge to the world, but simply publishing their assignment code has a couple of detrimental effects:

      (a) Students do not realize how much time and effort goes into greating a "good" question bank that really supports development of the skills they will require to move to the next level. To require a professor to continually abandon previously used questions may result in future students getting a substandard set. Instructors likely DO NOT have the available time to invest in continually developing new sets. Please do not automatically equate this with laziness (although in some cases, it may be).

      (b) The integrity of the course is destroyed if students are readily provided with access to the answers to assignments and/or tests. If the integrity of a course is continually compromised, how much faith do you believe employers will have in your skills, even if you are the hardest worker in the class?

      If you want to publish code you can be proud of,
      • BE ORIGINAL.
      Use those assignments, constructively, as a base to develop applications which are a level beyond the concepts covered in the course. Show others that you are capable of independent learning. Now THAT's what will impress someone.
  • There is a thing called google cache. Also anyone can make a copy to their own PC or set up a mirror.

    By attracting too much attention, the profs are just encouraging everyone to make backups while they still can, and telling them that a good way of cheating exists.

    Its happened. Right or wrong they cant change it now... its too late.. so they should just let it rest.
  • About 20 years ago, one of my professor used code metrics [google.ca] to catch people stealing code.

    Many code metrics will generally suvive simplistic changes like variable renaming, indentation reformatting and comment rewriting. Submissions with statistics too close to a known assignment become targets of closer examination.

    The fact that your code is in a public place and well known should make it easy on your school. The profs can point to your code, explain code metrics and how they will survive most reus. People who reuse your code dispite such warnings will get the drubbing that they deserve.

    One thing that I would suggest that you do is put a disclaimer on your website about how the department knows that your code is publically available and using it in their own assignments is not only illegal (violation of your copyright), but plagiarism that might result in their expulsion.

    Note that if it is your code, and you've GPLed it, you're free to place the further restriction on it -- such as that it can't be used to cheat on assignments. That being done, you could even give the university the right to prosecute plagiarism violations within the school on your behalf.

Today is a good day for information-gathering. Read someone else's mail file.

Working...