So I’ve been using Glitch and Codepen now for about 6 months. I’m still very new to coding in HTML and CSS. I have been doing assignments for my classes at college, and made a point to myself not to copy and paste anything. Seeing all the amazing things people were doing with just mark-up languages was incredible.
I am wondering in the industry, what is acceptable to copy and where do you draw the line at it not really being your work anymore? Is it even ok to copy 1 line of code? I know that in music copyrights it needs to be a series of specific notes that form a unique string of notes before you can copyright it. Is this how code works?
Love this platform and have been learning at an exponential rate. Thanks in advance to everyone.
Good question! I think it really depends on what you do with the code once you copy it. If your code is a patchwork of copied code from around the internet, well, that probably isn’t such a great thing. But if you take copied code and used it in a project where it works with the rest of your code, or, even better, you change it and adapt it to your project, there is nothing wrong with that. In fact, some code is meant to be copied and downloaded, like libraries.
From a legal standpoint, the police aren’t going to come after you if you are a hobby developer and copy a lot of code. With that being said, the rule of thumb is to read the license (MIT, Apache, GNU GPL, etc) of the project and stick to those terms. If you aren’t sure, you can always contact the developer and ask for their input.
I agree with @RiversideRocks. I wanted to add, in a totally unreactive way, employers are definitely onto people “cheating” and give out coding exams / take home projects regularly, if not largely hiring CS majors. Not only would you be potentially violating a license, but you’d be wasting your time trying to get a job with little effort. If anything, those who try to cut corners have (unfortunately) really raised the bar for anyone (honestly) trying to get into the field. People copy code all the time…I’ve seen projects from Udemy courses in people’s portfolios. Will anyone come after you? Well, probably not a Udemy or YouTube instructor.
If your intention is to find work as a developer in the near future, the most important thing is understanding the programming concepts. If you do, you won’t feel bad looking up something you forgot, or copy/pasting a bit of code from another project to save time. We all do it, regardless of experience. If we didn’t use templates at my prior jobs, we’d never get anything out the door.
Thanks for all the great replies! I’m taking in all you’ve said @RiversideRocks . Yeah, my goal with this questions was less so about “cheating” or copying. Those people will always do that, I’m more concerned with when is it “appropriate” in the industry to sort of say, “XXX” inspired this project, Or “General base code was sourced from …” Sort of the those instances. More along the lines of etiquette when trying to become part of a community. Thanks for all the info though, I will be looking at license more thoroughly from now on.
Honestly, I never (well, rarely) see people do that (“General base code was sourced from…”). Though I think it’s the right thing to do if you’re using a lot of code from 1 person’s project.
On the other hand, I’m not gonna lie…as a front end developer, I really don’t know a ton about Node, for example, and any back end template of mine has def been pieced together from online courses and articles. But these are so basic anyway that it’s not worth giving credit to several people. I understand the code at this point, and I’ve modified it for my needs. It’s not a highlight of my resume, it’s for routing other projects. I can safely say others do this as well, especially with boilerplate projects like webpack starters, simple CRUD starters, etc. And you’ll need projects like that for convenience, as you build more stuff.
I think of licenses as “artistic” rather than about copying lines of code. Not like “this person made a meal tracker, so now I can’t make one” but “my project can’t look exactly like this or very similar to it.” You’ll see the projects that are heavily licensed are the most unique and may even have several maintainers. A great way to learn is to contribute and submit PR’s. The cool thing about Glitch is you can easily view projects right in the browser rather than (often) doing some local setup yourself on Github if you clone something.
Thanks so much for the reply! So I’m hearing, 1) I don’t need to credit someone for say the code to create a css grid layout. 2) I should pay attention to the license on a project more so than worrying about crediting code. 3) forgive my naivety but what is a PR or boilerplate project? I think I know what CRUD’s are(basic templates that you make quickly and usually throw away.).
Every answer gives me more questions hehe. How did you learn the more advanced or unique stuff that they don’t teach i.e. parallax websites. I saw the coolest one that just kept unfolding forever and the scenes were animated. Or is this just something creativity will naturally birth over time as I develop skills?
A PR is a pull request on Github (or Bitbucket, Gitlab, etc.)
I’m self taught, so I mostly learned by looking at other people’s code, doing tutorials, and reading documentation.
As far as the “creative” stuff like parallax scrolling, there are a lot of “boilerplate” (templates) out there. For example, you can set up parallax with the Materialize CSS framework - Parallax - Materialize
Another option is to start with a framework like Materialize or Bootstrap and play around with different things to see how the code works.