K
K
kuzubov2012-12-06 12:33:25
git
kuzubov, 2012-12-06 12:33:25

GitHub - questions on inheritance and project structure

I took it to write a project and wanted to publish it on GitHub. Everything would be fine, but before that I didn’t do anything like that, as I didn’t even work with Git, but it’s all lyrics ... To begin with, I was embarrassed that I had to give a name to the project right away ... Well, I’m making a program - so I need to immediately come up with a name before writing the first line? It seems kind of stupid to me, I’m not a manager or a creator - let them think about what to call it better later and look for sonorous names in a pile of literature ... Then I found that you can change the name of the repository and scored on the name - left it as it is, which is the first thing in my head it came, then I’ll supposedly change it ... But a number of questions remained unanswered:

1. I didn’t immediately see what the default license is for a public project. GPL or all the same some kind of variety or its number, maybe what ??

2. I use controls written by other people. they are GPL licensed and I take the source code from the author's site. So these sources are part of my project. That is, they lie inside in a folder in my project and all links to use (PHP + JavaScript) are screwed to these paths. In theory, as soon as I make the first commit, then, along with my code, someone else’s code flies into the git, which I won’t even invade. On the other hand, I can exclude these files from the project and anyone who downloads my project will immediately find that the project will not work and will require some files that he has no idea where to get.
Further more - those controls that I use change over time. Let's say jQuery comes out almost every week a new one and I cannot guarantee that compatibility will remain if you take the latest version from the authors.

In short, the question is - what to do with someone else's code like jQuery, for example, or other similar controls and libraries? where to post them? to your project? how to achieve that there is exactly the version that I need, and not some other, because the authors are constantly adding libraries?

3. Now when I enter the project, I just see a bunch of folders and files. And during the course, I met people's versions in the same way and a bunch of archives with old versions of their programs. how is this done? How do you make versions and add the ability to download versions? How to indicate that the current commit is just a transition to another workplace (well, on another computer in another country, I decided to write further code for example) or this commit is a stable build, and not an intermediate versioning ...

Answer the question

In order to leave comments, you need to log in

4 answer(s)
M
Mithgol, 2012-12-07
@Mithgol

In short, the question is - what to do with someone else's code like jQuery, for example, or other similar controls and libraries? where to post them? to your project? how to achieve that there is exactly the version that I need, and not some other, because the authors are constantly adding libraries?
The following options are possible:
  • Entirely put someone else's code into your project. Then the project will have exactly the version that is needed.
     
  • Do not put code in your project. Then you should write detailed and understandable instructions for project users in the README file : where to get someone else's code necessary for the project to work, and how to install it so that everything works.
     
  • Include someone else's code in your project as a git submodule. The user will be able to issue a simple Git command, after which someone else's code will be downloaded from where it should be and installed where it should be. It only works if someone else's code is in a public git repository.

V
vsespb, 2012-12-06
@vsespb

1. yes, in general, none, all rights remain with you, the only thing in github terms is that people can fork and download your code.
2. jQuery, read the docs. Make sure what you are using is documented. They don't just throw it away. Specify on the project page with which versions it was tested. Creating a distribution program that will install all the code and libraries is no longer “in the competence” of Github. Either lay out the distribution yourself with your hands, or write readme how to install it.
3. Versions with files in archives can be made git tags, example github.com/vsespb/mt-aws-glacier/tags
(commands git tag -a mytag and git push --tags)

A
akral, 2012-12-06
@akral

2. Composer .

M
Mithgol, 2012-12-07
@Mithgol

And during the course, I met people's versions in the same way and a bunch of archives with old versions of their programs. How is this done?
You should give an example address - then it will be easier to explain what you met there and how this is achieved.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question