Skip to content

transferorbit/coderefinery_social-coding

 
 

Repository files navigation

Talk: Social coding and open software

Question 1: Why should I share my scripts/code/data ?

Choose many

Easier to find and reproduce (scientific reproducibility)
More trustworthy: others can verify correctness and find and report bugs
Enables others to build on top of your code (derivative work, provided the license allows it)
Others can submit features/improvements
Others can help fixing bugs
Many tools and apps are free for open source, so no financial cost for this (GitHub, Travis CI, Appveyor, Read the Docs)
Good for your CV: you can show what you have built
Discourages competitors. If others can't build on your work, they will make competing work
When publicly shared, usually we timestamp or set a version, so it is easier to refer to a specific version

Quesion 2: The most concerning thing for me, If I share my software now

Choose one

It will be scooped (stolen) by someone else
It will expose my "ugly code"
Others may find bugs and mistakes. What if the algorithm is wrong?
I will get too many questions, I do not have time for that
Losing control over the direction of the project
Low quality copies will appear
I won't be able to sell this later. Someone else will make money from it
It is too early, I am just prototyping, I will write version to distribute later
Worried about licensing and legal matters, as they are very complicated

Question 3: Why is software often treated differently from papers?

Free entry of answers

Question 4: Which of these are derivative works?

Choose many

Download some code from a website and add on to it
Download some code and use a function in your code
Changing the code
Extending the code
Completely rewriting the code
Rewriting the code to a different programming language
Linking to libraries (static or dynamic), plug-ins, and drivers
Clean room design (somebody explains you the code but you have never seen it)
You read a paper, understand algorithm, write own code

Exercises

1. What is the StackOverflow license for code you copy and paste?
2. A journal requests that you release your software during publication. You have copied a portion of the code from another package, which you have forgotten. Can you satisfy the journal's request?
3. You want to fix a bug in a project someone else has released, but there is no license. What risks are there?
4. How would you ask someone to add a license?
5. You incorporate MIT, GPL, and BSD3 licensed code into your project. What possible licenses can you pick for your project?
6. You do the same as above but add in another license that looks viral. What possible licenses can you use now?
7. Do licenses apply if you don't distribute your code? Why or why not?
8. Which licenses are most/least attractive for companies with proprietary software?

Notes:

About

Talk about social coding and open software.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 63.0%
  • CSS 13.2%
  • Batchfile 13.2%
  • Makefile 10.6%