4 ms·
I'm not a big fan of this development. There's a lot of software developers out there who work on projects for their employers that can't be open sourced. It al
by ENOTTY 14y ago
I'm not a big fan of this development. There's a lot of software developers out there who work on projects for their employers that can't be open sourced. It also places those who lack free time to hack on code in their off hours (perhaps due to kids) at a disadvantage.
For students, it is not clear that the code they generate is their property so posting it on github is legally dangerous. I've also had professors say posting code is cheating.
- apsurd 14y ago>> For students, it is not clear that the code they generate is their property Honest question, who's code would it be then?
- streptomycin 14y agothe university's EDIT: here's an example: http://legalblogwatch.typepad.com/legal_blog_watch/2011/01/who-owns-student-created-intellectual-property.html http://legalblogwatch.typepad.com/legal_blog_watch/2011/01/w...
- apsurd 14y agoI'm not shooting the messenger, but if that is indeed the case, Universities are in quite a sad state =(
- zmanji 14y agoWhy? Some prof worked hard to create the starter code for many assignments so the student could focus on a few key parts. After the student completes the few key parts of the assignment it is obvious it is a derivative work of the professor. Also posting the solution online would obviously make it difficult to use for the next year and I don't think it is productive to make a professor remake an assignment every year when the could be focusing on refining lecture content.
- apsurd 14y agoAt the risk of sounding difficult, all work is derivative and I think that's a beautiful thing, not a thing meant to be haggled over and fussed about. But I do get the point of your second paragraph. Ideally students go to class for the sake of learning, so it doesn't make sense to blatantly cheat, but such is not often the case IRL.
- jonny_eh 14y agoIt'd be great if the prof made the starter code available on github and the student's code was committed to a fork. It'd be quite easy to tell then who's work is whom's.
- lifeisstillgood 14y agoNot really. You write pacman as the lecturer tells you, the templates and direction (s)he gave you are not yours. After two weeks sweat, take what you have learnt and write a game using pygame, or a browser based seduction game using anonymous twitter accounts and pinterest images. Anything really. That's yours, the skills you have learnt are yours. Thank your lecturer publicly when you IPO
- davmre 14y agoA lot of university coding assignments are based on starter code provided by an instructor, often with step-by-step instructions for how to proceed. For example, the Pac-Man projects used in Berkeley's AI class (http://www-inst.eecs.berkeley.edu/~cs188/pacman/pacman.html http://www-inst.eecs.berkeley.edu/~cs188/pacman/pacman.html) consist of a lot of pre-written scaffolding to set up a GUI, handle user input, etc., and even the AI portions are broken down in a well-thought-out way into just a few well-specified methods that students have to implement. This is an extreme example but the general pattern is common; my undergrad classes in compilers, OS, architecture, and networks all had project specifications provided by the instructor, sometimes with significant starter code. I don't know how this works legally -- whether the code written belongs to the student or is considered a derivative work of the course materials -- but if you're trying to evaluate someone's abilities to design and build interesting programs, code written in this fashion is certainly less valuable than a project done entirely independently.
- apsurd 14y agoIsn't the same true for using all frameworks then? Surely people don't think every Rails app was written from the ground up? FWIW I am indeed all lovey dovey about Open Source. I think all code should be "Open and Free". Of course I know that Google's algorithms benefit from being guarded, but a professor's scaffolding? Call me idealistic but I thought education was about you know... education? The more the merrier?
- zevyoura 14y agoRails has an explicit, permissive license. Most of the sample/starter code for school projects does not.
- davmre 14y agoYes, but Rails is a known quantity; everyone is aware of what's provided for you in a Rails app and can judge accordingly. It's harder to judge someone's work when you know it was written as a school project but you don't know which parts were theirs or how much guidance they were given. As far as the educational values involved, many profs distribute their handouts and assignments relatively freely, e.g. the Berkley Pac-Man projects I linked above, but are wary of having solutions floating around online since that enables cheating. Personally I think this is probably a lost cause, but you can at least understand why they might be resistant to the idea of having students' solutions posted on github (and it's not reasonable to say that teachers should re-develop new projects every year; coming up with good projects is a huge amount of work and it usually makes much more sense to have a single set of course materials that you continue optimizing/refining over time). Of course none of this is meant to apply to open-ended, student-driven class projects, or to work that students do on their own time while being enrolled in a university. I think most people would agree that such work is unambiguously the property of the students that produced it.
- tetha 14y agoSome blog entry called this the dark matter of software industry. Hundredts and thousands of developers, working away at hard problems without showing off online at every opportunity, because they are busy solving problems.
- timwiseman 14y ago* it is not clear that the code they generate is their property* Could you expand on this? When you create something, barring some exception such as when you create it as a an employee, you own it. In certain cases, if the code is exactly implementing a narrow problem from a book there might be a question of it being a derivative work of the textbook itself, but when that is true it is probably not something worth publishing anyway. The other case would be that it is a shared copyright if the professor or another student significantly assited, which is fairly common in some grad work. But the simple status of "student" does not change the rights to your own work. I have known more than one student to go on to publish work that is only a cleaned up version of an assignment and I have heard of others going on to start entire companies based on work they did as a student.
- baddox 14y agoThe situation you describe is sane, but it's not the way the law works. Take a look at the GPL for the most obvious example: derivative works are required by law to also be covered by the GPL.
- kenrikm 14y agoA lot of what I have worked on is closed source so lately I have been looking through all of my old files/hard drives looking for code to post to github. Either A) it is so old that it's a mess. Or B) it's from some personal project that I plan on keeping closed source. However like it or not you need to build up your github account.
- tikhonj 14y agoJust out of curiosity: why do you plan on keeping your personal projects closed source?
- TruthElixirX 14y agoBecause the fruit of his labor is up to him to do what he wants with.
- lurker14 14y agoThat's not "because", that's an irrelevant factoid.
- kenrikm 14y agoNot all of them, maybe I should have been more specific. By personal I was referring to apps I have For sale in the App store, apps I developed for clients etc.. What I have decided to do is start offering tutorials/projects showing the really difficult bits that are not on the web. You get pieces here and there but few offer the complete implementation. So I plan on helping pave the way for those who will follow. ;)
- tikhonj 14y agoI think this would only be true for school projects or for research. Most projects are relatively shallow and uninteresting--they're great for learning, but not good testaments of your skill. The sort of projects professors are going to worry about are the sort where you get an extremely detailed spec and a bunch of code to start from, and all you have to do is fill in the blanks. This sort of project is great for grading--everybody basically writes the same thing--but pretty meaningless otherwise. If you have a really open-ended project where you get to come up with your own design and code everything yourself, I really doubt a professor would stop you from posting it. I'm working on a project like that right and the professor encourages us to open-source it. If you're doing research, you may also have issues with copyright. I'm not sure you will, but it's plausible. However, at the very least, you'll be able to link to your papers, which is also good. That said, the research projects my friends are working on are all up on GitHub, so it clearly isn't an issue there. Finally, especially as a student, you should have some nice side projects outside of class. I don't think you would have any problems posting code that you worked on entirely by yourself. And this is exactly the code that is most interesting.
- ChuckMcM 14y agoInteresting take, there are places where : "...those who lack free time to hack on code in their off hours (perhaps due to kids)..." Is exactly what they want to know, it can be a discriminator for them. I pointed out to the VP of HR (for engineering) at Google that the peer review / committee system of performance analysis did not recognize 'work efficiency' only 'work quantity'. His counter was that it was a zero sum game, that if someone was getting the same amount done in 8 hrs a day as someone who was taking 12 hrs per day, then they were 'equivalent' contributors. The blind spot however is that the efficient engineer isn't burning out, and the committees were much more impressed with quantity than efficiency so the comparison failed. I remind folks that one can always 'vote with their feet' and in the software industry that seems pretty doable these days. Of course I also resonate with the notion that having a sample of code you can share with an interviewer and talk freely about that is longer than something you could pop out in an interview is a great thing. So often we are constrained about what we can share on what we're currently working on. A nice Github or Sourceforge project with a bit of meat on its bones can give you an excellent place to elaborate your design taste, thoughts, and choices. So I think it is always a 'good thing' to have some solid samples of your work out there somewhere. Even if it means taking some extra time one year and spending a few weekends on it.
- pnathan 14y agoSpeaking as someone involved in a hiring team for a developer, I am happy to discard people who are not demonstrating ability if I have other people who are. I am looking for every possible signal that differentiates candidates. Don't shoot yourself in the foot by not differentiating yourself. Github demonstrates knowledge of (1) current trends in open source, (2) using source control, and (3) a project that can be looked over. (Substitute github with bitbucket or whatever, I don't care that much). With respect to engineers who are under restrictive IP contracts, all I can say is I'm sorry. You are likely to be shown up by others who demonstrate skills in ways you are unable (by contract) to. Do your best to leave and find a place where you can demonstrate your awesome.
- jebblue 14y ago>>Do your best to leave and find a place where you can demonstrate your awesome. Not your, you're, it's a contraction, knowing the distinction shows you're skills are awesome.
- jbri 14y agoI am unsure if you're being ironic, but the grandparent did use "your" correctly - if you take "awesome" as a thing someone possesses rather than as an adjective.
- jebblue 14y agoPossessing an awesome would be ironic because it would be so awesome.
- pnathan 14y agoI meant the 'awesome belonging to you'. It's what I want to see when I look at your job application materials. If you don't have any, or can't show it, I can't appreciate that you are awesome and therefore won't follow up to talk with you.
- caw 14y agoI suppose that means for people who have restrictive agreements, networking and good CV skills are more important. If you don't have a github (or whatever online presence is being sought after), you'll lean more heavily on places that use a CV, or through your network. Getting in through a network probably means you don't need the github. Conversely, if you have an awesome github and an awesome network, then the fact you have a github is moot (unless people only know you because of it). You'll get hired anyway. So the github only really matters for the portion of people who don't have a network, and are applying for companies who care about code they can review before you even talk to them, which is mostly the HN bubble, and not any megacorps.
- tomjen3 14y agoThere is also another and properly much bigger issue -- you end up hiring the people who are the best promoters, not the best coders. And it is biased towards those who are in webdev, because they are those who share there source code most. But there is properly nothing we can do to prevent this. Fortunately jobs aren't that hard to come by, these days.