Python Forum
Working with open source software - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: General (https://python-forum.io/forum-1.html)
+--- Forum: News and Discussions (https://python-forum.io/forum-31.html)
+--- Thread: Working with open source software (/thread-16284.html)



Working with open source software - Yamin - Feb-21-2019

Hi I was wondering if you could help me understand working with open source software. As I understand its possible to make your own alterations to it, add extra functions and what not. My questions is how do you do it-I know its a bit out of my depth but still I would like to know how its done. So if you could tell me or direct me to some explanatory material I would really appreciate it.

I tired some research online- but maybe I'm not using the right technical words.

Thanks in advance.


RE: Working with open source software - buran - Feb-21-2019

Without going into too many legal details:
Open source means that everyone can see/analyse the source code of the software (it doesn't matter if it is small script or huge software package/system). What you can do with it depends on the licenses. Theoretically you can have open source software and still need a commercial license (even to use it, not to change it). For example PyQt is dual licensed on all supported platforms under the GNU GPL v3 and the Riverbank Commercial License. RedHat Linux is example of OpenSource Software, but you need to purchase proper enterprise license.
Assuming you have access to the full source code you can make any changes you want (again if the license is permissible). Then you can distribute it. Based on the original license there might be certain restrictions and requirements (conditions) - e.g. acknowledge that it is derivative work, make the source code available. Here is nice comparison site to help choosing the open source license for your software. And here is full compare table

You may want to read the Open Source Definition developed by Open Source Initiative for in-depth explanation, with annotations.


RE: Working with open source software - Yamin - Feb-21-2019

Thanks, for the reply. Basically the specific software is called Artisian used for coffee roasting, its under GPL license. I would like to add a button with a custom event. I guess my question is how can I view the source code edit it and compile it?

Thanks


RE: Working with open source software - buran - Feb-21-2019

Here is the github repository:
https://github.com/artisan-roaster-scope/artisan
It looks like a big project, so I guess you will need some time to review/get understanding of the software

I guess the docs - https://artisan-scope.org/docs/quick-start-guide/
and the community would be helpful - https://artisan-scope.org/docs/community/ -
Note that there is option to define user button and actions:
https://artisan-roasterscope.blogspot.com/2013/02/events-buttons-and-palettes.html

i.e. look at this section first - probably you don't really need to work on source code


RE: Working with open source software - Yamin - Feb-21-2019

Thanks I've been looking at the github repository page. That's exactly where I'm stuck at. Potentially this is a very newbie question but how do I edit the source code, there are no .py files. I don't see anything which I'm familiar with. I am pretty much out of my depth however this is something I have always wondered.
Thanks for taking your time to reply


RE: Working with open source software - buran - Feb-21-2019

First of all - check my edited answer - it's possible to define the user buttons and programmable actions

As to the github - look at https://github.com/artisan-roaster-scope/artisan/tree/master/src
There is artisan.py file that looks like the entry point fro GUI
then there is artisanlib folder that looks like the backend (i.e. the internals of the software)
but this is just a quick look - take it as hints, I may be wromg
and then browse down into folders, files, etc. As I said - it's a big project, so it won't be trivial to make modifications before you are familiar with the project.

In order to make changes you will need to make fork of the repository (i.e. you cannot make changes directly in their repository, because you don't have permissions). Probably you also want to download the source code to your local computer for development. It sounds you are not familiar with git (version-control-system) and github. So you will benefit from a quick introduction tutorial to git/github.


RE: Working with open source software - Yamin - Feb-21-2019

(Feb-21-2019, 05:50 PM)buran Wrote: Probably you also want to download the source code to your local computer for development. It sounds you are not familiar with git (version-control-system) and github. So you will benefit from a quick introduction tutorial to git/github.
Oh yeah this was the point I was trying to make. I took 'artisian' as an example(this is where I first thought of this question).
Thanks so much for the help


RE: Working with open source software - buran - Feb-21-2019

(Feb-21-2019, 05:54 PM)Yamin Wrote: Oh yeah this was the point I was trying to make. I took 'artisian' as an example(this is where I first thought of this question).
there is green button - Clone or download, top right corner - https://github.com/artisan-roaster-scope/artisan

There is also Fork button - if you want to fork it to your repository
But again - take a Tour on Git/GitHub
https://guides.github.com/