How to get a leg up on GNU development?

I would like to start participating in some GNU software projects. For some weeks I have been presenting a specific project, but I do not know how and when to start.

I feel like you need to be sure of the following:

  • Programming language
  • NKU
  • Gdb
  • to do
  • Emacs
  • the application itself
  • patches
  • CVS
  • and etc.

Therefore, I try to study them all as best I can.

But: Should I really master all the listed programs / tools before contributing, or should I just join the project as soon as possible, so I will get to know them all by the way? Will I get a little help from the GNU programmers, or do they just have no time for "initial problems"? Hope you can help me!

All the best

Inno

PS: I would like to join a developer not as a documentary or IRC proponent :)

[EDIT]

Thank you for your responses.

I have already compiled, debugged and run the application, this is not a problem. Just some little things that I don't work with (I think I'll follow IRC advice).

I would like to join a project to familiarize myself with C (and free / open source software in general). I made C when I started programming and have always loved it, but never had the opportunity to work with it in a professional environment.

Since I have been making money from programming since 5 or 6 years old, I am no longer a complete greenhorn;).

+2


source to share


5 answers


The best way is to join the IRC channel of the project in question - if you have problems with the toolchain and indicate that you are working on their project, most F / OSS developers will help you.



In particular, the Mono project (C # on Linux) is really a developer in their IRC room and will be very friendly and patient with new people who want to help

0


source


If you already have a solid grasp of the basics of programming, I would recommend just joining the project, finding some easy bug fixes or features that you think you can handle, and diving into them. A good community can help you with the details of source control and binary builds if you are passionate and willing to help. Many may even have tutorials demonstrating specifically how to do this with their project.

If you are still trying to understand the basics of programming, then you should probably focus on learning the basics and creating personal projects / tutorials first, although it doesn't hurt to check out a copy of the codebase for experimenting with your own machine.



Also note that CVS is only one of many VCS (Version Control Systems). SVN and Git are two other popular options, but they are all relatively easy to learn - as long as you know how to build something worthwhile for version control.;)

+4


source


It's great that you are willing to contribute! Typically, you can start with a text editor of your choice, learn to use diff and patch, as well as any language. You may also need to use a version control system (like subversion, CVS, git, etc.) to get the source, but not all the finer points - most projects I've seen want you to submit a patch before give you commit access.

Look for something simple to fix and start contributing. It helps you get a glimpse of what other developers want help, maybe even ask them, telling them what you are capable of if they don't have requests listed on the project website. Often times, using the software will give you good ideas for what needs to be improved, but you may need to be patient with other developers who have different priorities.

+2


source


To make a meaningful contribution to any of the major GNU projects (gcc, gdb, emacs, etc.), you really need to be an expert in this area. These are all mature projects that don't offer too many opportunities for newbies.

If you're asking about open source projects (FOSS) in general, you don't need to know any specific tools you're talking about. Obviously, if a project has to develop a complex emacs setup (for example), you need to know emacs. For all projects, you need to know how to use the version control system that the project uses.

The key to helping FOSS projects is to find one that interests you deeply and for which you have the technical know-how. If any of these are missing, you can also forget the idea.

+1


source


I would suspect that the minimum you need to learn how to contribute would be using a programming language and a clear understanding of the purpose of the aspect of the application that you would like to contribute.

You will likely be submitting fixes or code corrections in the first instance and then indirectly to the source tree. It would be nice to at least be able to make the application from source and run it to test your changes before pushing them in, but that doesn't really mean you have to understand the make file itself, just so you can run the make.

0


source







All Articles