Liberty BASIC Community Forum
« GitHub and Software Licensing »

Welcome Guest. Please Login or Register.
Nov 24th, 2017, 10:54am


Rules|Home|Help|Search|Recent Posts|Notification


« Previous Topic | Next Topic »
Pages: 1  Notify Send Topic Print
 thread  Author  Topic: GitHub and Software Licensing  (Read 160 times)
thejoecole
New Member
Image


member is offline

Avatar




PM

Gender: Male
Posts: 34
xx GitHub and Software Licensing
« Thread started on: May 1st, 2017, 8:48pm »

I'm trying to figure out how to use GitHub and start using it as a repository for programs I'm working on. In setting up my first repository, there is a place to set the license you want to use.
The most simple and permissive license I've come across is the MIT License.

Does anyone have experience with open source licensing? I noticed GitHub put a License.txt file in my repository folder, but does a copy need to be inserted as a comment in the code as well?

Regards,
Joe
User IP Logged

Joe Cole
-------------------------
Liberty BASIC v4.5.1
Windows 10 Home 64-bit | Intel Core i3, 2.4GHz, 8 gig RAM
-------------------------
Consumer of Caffeinated Products
Hobby Programmer Wannabe
Joseph
Board Moderator

member is offline

Avatar

Hello, World!


PM

Gender: Male
Posts: 854
xx Re: GitHub and Software Licensing
« Reply #1 on: May 2nd, 2017, 12:45am »

I use Git/GitHub frequently to manage my projects.

The GitHub Desktop client is a nice, free visual client for Git: https://desktop.github.com

If you haven't studied the documentation for Git, you will need to spend a deal of time with it: https://git-scm.com/docs/git

Setting up repositories, cloning, and making commits will take a bit of learning, especially to those who are unfamiliar with command line tools. Once you learn it, you'll find it to be a fairly elegant system.

Once you've mastered Git, you'll have to learn how Git is tied in to GitHub, and how pull requests can be made, as well as the utilization of multiple development branches and forking.

The MIT License is a great choice if you want to allow people to take your code and modifications of it for proprietary use. I have licensed several open source projects of my own with it. If you want to ensure that your code and variations of it stay open source and free, you may want the GPL3 license.

Having a license file in your repository is probably sufficient, but making a note of the license used in every source file doesn't hurt, either.

Hope this helps.
« Last Edit: May 2nd, 2017, 12:50am by Joseph » User IP Logged

My Personal LB Project Page
Twitter GitHub
My App
thejoecole
New Member
Image


member is offline

Avatar




PM

Gender: Male
Posts: 34
xx Re: GitHub and Software Licensing
« Reply #2 on: May 2nd, 2017, 11:19am »

Joseph,
You've given me a lot of good information, thanks! I'm beginning to think what I am trying to do may be over-kill. Perhaps GitHub may not be the best place for me to start now that I see I can create a presence on the basic.wikispaces.com wiki.

As for the license... I look at software development similar to some of the reports I've written for school and work; properly sourced and credit given where due. The LB/JB community is quite open in sharing knowledge and would like to give back where I can. My intent is to let others use what I've written if they find it useful without a lot of strings attached. I thought that's what the MIT license provided, but I've been wrong before.

I wrote a temperature conversion program (I know, really original) quite a few years ago in both LB and JB. Life got in the way and it ended up on the back burner. I've got many ideas for improvement; some of which I think may be a good template for other programs.

Regards,
Joe
« Last Edit: May 2nd, 2017, 11:26am by thejoecole » User IP Logged

Joe Cole
-------------------------
Liberty BASIC v4.5.1
Windows 10 Home 64-bit | Intel Core i3, 2.4GHz, 8 gig RAM
-------------------------
Consumer of Caffeinated Products
Hobby Programmer Wannabe
Joseph
Board Moderator

member is offline

Avatar

Hello, World!


PM

Gender: Male
Posts: 854
xx Re: GitHub and Software Licensing
« Reply #3 on: May 2nd, 2017, 10:03pm »

Happy to help! If you have any further questions, I'll be happy to answer.
User IP Logged

My Personal LB Project Page
Twitter GitHub
My App
Chris Iverson
Administrator
ImageImageImageImageImage


member is offline

Avatar

20% Cooler


Homepage PM

Gender: Male
Posts: 2285
xx Re: GitHub and Software Licensing
« Reply #4 on: May 5th, 2017, 8:16pm »

on May 2nd, 2017, 11:19am, thejoecole wrote:
My intent is to let others use what I've written if they find it useful without a lot of strings attached. I thought that's what the MIT license provided, but I've been wrong before.


You've basically got it correct. The MIT/BSD license is basically "you can do what you want with this code as long as 1) you keep proper attribution(i.e. let people know it's my code you're using), and 2) don't blame me for any issues."

You see the GPL more often in communities that want to make sure open source code STAYS open source, including all derivative modifications.

With an MIT/BSD-2-Clause license, I can take your code, modify it, include it in one of my proprietary programs(without publicly providing source code, both yours and my modifications), and sell it, all with no issues, as long as I make sure I include your license notice with my program. (The license notice doesn't change the license of my derivative program; it only covers YOUR code that I incorporated into my program). I can keep my own code and modifications private.

In contrast, if you release code under the GPL, and I include that in one of my own projects in some way, or modify it, ALL of the new code must be released under the GPL. That includes both YOUR code, the modifications I made to your code, AND any new code I wrote myself that integrates with your code(or my modifications of your code). If I include GPL code, my entire project's code must be published under the GPL, as well.

GPL is better at fostering and insuring open distribution of modifications, but it also limits what you can depend on in a proprietary environment. There are pros and cons each way.

In terms of "what license gives others the most freedoms", it would be the MIT/BSD-2-clause license.
« Last Edit: May 5th, 2017, 8:17pm by Chris Iverson » User IP Logged

"Do you believe in destiny?" - Pyrrha Nikos, RWBY
"With what wish will your Soul Gem shine?" - Kyubey, Puella Magi Madoka Magica
thejoecole
New Member
Image


member is offline

Avatar




PM

Gender: Male
Posts: 34
xx Re: GitHub and Software Licensing
« Reply #5 on: May 5th, 2017, 8:53pm »

Chris,

Great synopsis of the licenses.

Quote:
With an MIT/BSD-2-Clause license, I can take your code, modify it, include it in one of my proprietary programs(without publicly providing source code, both yours and my modifications), and sell it, all with no issues, as long as I make sure I include your license notice with my program. (The license notice doesn't change the license of my derivative program; it only covers YOUR code that I incorporated into my program). I can keep my own code and modifications private.

I like the premise of the MIT license and believe this sums up quite well what I was thinking. grin

An alternate license I would consider is the Creative Commons Attribution Share-Alike. Though the "Share-Alike" portion seems to have a similar distribution restriction as the GPL.

User IP Logged

Joe Cole
-------------------------
Liberty BASIC v4.5.1
Windows 10 Home 64-bit | Intel Core i3, 2.4GHz, 8 gig RAM
-------------------------
Consumer of Caffeinated Products
Hobby Programmer Wannabe
Chris Iverson
Administrator
ImageImageImageImageImage


member is offline

Avatar

20% Cooler


Homepage PM

Gender: Male
Posts: 2285
xx Re: GitHub and Software Licensing
« Reply #6 on: May 6th, 2017, 4:20pm »

on May 5th, 2017, 8:53pm, thejoecole wrote:
Chris,

Great synopsis of the licenses.


I like the premise of the MIT license and believe this sums up quite well what I was thinking. grin

An alternate license I would consider is the Creative Commons Attribution Share-Alike. Though the "Share-Alike" portion seems to have a similar distribution restriction as the GPL.



The CC BY-SA 4.0 license(Creative Commons Attribution Share-Alike) is indeed most similar to the GPL.

The most similar to the MIT/BSD license is the CC BY 4.0 license(Creative Commons Attribution), which is the same license as the CC BY-SA, without the Share-Alike requirement.

That said, I would probably stick to code licenses such as the MIT/BSD 2-Clause when actually licensing software and source code.

The CC licenses, I think, are most intended for works of art and design. Two major well known examples of CC licenses in use is the Wikimedia family sites(Wikipedia and derivative sites), which use CC BY-SA licenses), and the well known card game Cards Against Humanity, which is published with a CC BY-NC-SA license. The cards are actually freely available for printing on the official CAH website, and you're allowed to create and share your own cards, with the restriction that you cannot sell them for profit. (That's the NC part of the license: non-commercial use only.)

While software is included in that category, there's also more things you need to consider when working with software that I'm not sure the CC licenses would fully cover.

« Last Edit: May 6th, 2017, 4:20pm by Chris Iverson » User IP Logged

"Do you believe in destiny?" - Pyrrha Nikos, RWBY
"With what wish will your Soul Gem shine?" - Kyubey, Puella Magi Madoka Magica
thejoecole
New Member
Image


member is offline

Avatar




PM

Gender: Male
Posts: 34
xx Re: GitHub and Software Licensing
« Reply #7 on: May 21st, 2017, 09:04am »

After more research, I've decided to stick with using the MIT license for code I'd like to share publicly. In looking at the Creative Commons Attribution Share Alike (CC BY-SA), I found an entry on Creative Commons' FAQ page stating that they (Creative Commons) recommends AGAINST using the their licenses for software.

https://creativecommons.org/faq/#can-i-apply-a-creative-commons-license-to-software

"If" in the future I create something I'd like to share, but want to add some conditions on derivative works, the GNU General Public License v3 (GPL-3) seems to be a good starting point.
User IP Logged

Joe Cole
-------------------------
Liberty BASIC v4.5.1
Windows 10 Home 64-bit | Intel Core i3, 2.4GHz, 8 gig RAM
-------------------------
Consumer of Caffeinated Products
Hobby Programmer Wannabe
Chris Iverson
Administrator
ImageImageImageImageImage


member is offline

Avatar

20% Cooler


Homepage PM

Gender: Male
Posts: 2285
xx Re: GitHub and Software Licensing
« Reply #8 on: May 22nd, 2017, 3:20pm »

Another license you may want to consider, depending on what you want, is the Mozilla Public License.

You can consider it to be midway between the MIT license and the GPL.

It is allowed to be used in closed-source, proprietary software(like MIT, unlike GPL), but it requires that modifications to your code(i.e. modifications to the code already under MPL) need to also be MPL'd(similar to GPL's viral effect).

The only difference is, MPL doesn't require the ENTIRE codebase to be released under the terms of the MPL, if you integrate MPL'd code. The only thing that needs to be released are any modifications you make to the code that's already under the MPL.

It strikes a closer balance between use-in-whatever-you-want and must-publicize-your-code.
User IP Logged

"Do you believe in destiny?" - Pyrrha Nikos, RWBY
"With what wish will your Soul Gem shine?" - Kyubey, Puella Magi Madoka Magica
Pages: 1  Notify Send Topic Print
« Previous Topic | Next Topic »

Rules|Home|Help|Search|Recent Posts|Notification

Donate $6.99 for 50,000 Ad-Free Pageviews!

| |

This forum powered for FREE by Conforums ©
Sign up for your own Free Message Board today!
Terms of Service | Privacy Policy | Conforums Support | Parental Controls