Announcement

Collapse
No announcement yet.

Reasons Why You Don't Contribute To Open-Source Software

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Reasons Why You Don't Contribute To Open-Source Software

    Phoronix: Reasons Why You Don't Contribute To Open-Source Software

    Over on the GCC mailing list is a rather lively discussion (especially for being a Friday evening) that only started earlier today. No, it's not about the recent GCC 4.5 release or even our GCC vs. Clang/LLVM benchmarks, but it's about development participation. A developer is asking why you don't participate in contributing to GCC?..

    http://www.phoronix.com/vr.php?view=ODE3Ng

  • #2
    Depends on the project. Most of the time, it's trouble understanding the source code. Last time I wanted to add something was in Mumble. When I loaded up the sources I was shocked: not a single comment in the code. None whatsoever. The only person who understands it, is the one who wrote it.

    Something similar is going on with many other OS projects.

    Comment


    • #3
      Hello there, first post in forums.
      I want to say not everyone is a programmer. Some other people likes to apply the software in a production/office/enterprise/home environment as a way to contribute to both free and open source software.

      So, many people like to help with the large OSS/FS project, but few people knows how to make code with enough quality to fit as an official patch for a program.
      No offense, but ignoring that is somewhat narrow-minded, like a born-programmer developer who doesn't understand how can be people in the "computers" thing but doesn't make software, because he still doesn't know computers are more than "code, flowcharts and maths".

      Comment


      • #4
        Originally posted by frostwarrior View Post
        Hello there, first post in forums.
        I want to say not everyone is a programmer. Some other people likes to apply the software in a production/office/enterprise/home environment as a way to contribute to both free and open source software.

        So, many people like to help with the large OSS/FS project, but few people knows how to make code with enough quality to fit as an official patch for a program.
        No offense, but ignoring that is somewhat narrow-minded, like a born-programmer developer who doesn't understand how can be people in the "computers" thing but doesn't make software, because he still doesn't know computers are more than "code, flowcharts and maths".
        I don't think most people are ignoring that, at least I am not, as there are many ways to help out projects besides just writing patches -- writing documentation, PR, regression testing, graphic design, etc etc.
        Michael Larabel
        http://www.michaellarabel.com/

        Comment


        • #5
          I'm not a compiler developer, nor intimately familiar with the GCC-family development world...

          But I remember more than one discussion about how GCC is exceedingly large, complex, and difficult to extend. And on top of that, ideas such as making it modular, to make development more accessible and open up all sorts of innovation (supposedly a hallmark of open source), is fought against because of some perceived risk that "free software" will be extended by proprietary interests.

          And perhaps what I've said is completely ignorant, I'm not an expert on the issue, but it says a lot when others are willing to write from the ground up a new compiler infrastructure...

          Comment


          • #6
            Originally posted by Michael View Post
            I don't think most people are ignoring that, at least I am not, as there are many ways to help out projects besides just writing patches -- writing documentation, PR, regression testing, graphic design, etc etc.
            This.

            As a Free Software developer I cannot tell you how much I appreciate people taking up the roll of triaging bug tickets, helping organize documentation, providing support to the community, etc. You don't need to be a programmer to help out! Most successful projects have a healthy mix of people with different skillsets.

            Comment


            • #7
              Originally posted by Michael View Post
              I don't think most people are ignoring that, at least I am not, as there are many ways to help out projects besides just writing patches -- writing documentation, PR, regression testing, graphic design, etc etc.
              I agree with the above.

              My biggest reason for not contributing is not knowing how to program very well. However, I contribute whenever possible to projects in writing/updating documentation and reporting well documented bugs in addition to what coding I can do.

              One thing that makes it much easier for me to contribute to a project is when the project has a well documented list of programming opportunities or documentation/wiki items to expand.

              Some examples are:
              KDE:
              https://bugs.kde.org/buglist.cgi?key...D&cmdtype=doit

              Debian GNU/Linux:
              http://wiki.debian.org/DebianForNonCoderContributors

              Comment


              • #8
                The last open source project I wanted to actually contribute to was Moonlight. I'd submitted a bug report nearly three years ago about GStreamer support in it. Each time I brought it up, the only response I got was "Patches Welcome!"

                By the time I actually learned C/C++ (this year), I got fed up and actually tried to add it myself. They told me to look at ffmpeg-pipeline.{cpp,h}. So I did.

                The source code had nearly no comments, and the ones that are there are unhelpful. The code is cryptic and I couldn't figure it out. I didn't know what the FFmpeg pipeline code was doing, so how could I implement a GStreamer equivalent? And they wonder why more people don't join the project to work on those areas....

                After I told them that, they admitted that almost nobody actually KNEW the codebase all that well. Which is utterly disappointing....

                I'm SICK of getting the response "Patches welcome" from project people when either A) They wouldn't accept it anyway, or B) Their code is not clean, organized, and commented enough to make it easier for other developers to understand.

                Projects that have the legal waiver stuff make me nervous, so I won't contribute to those as a rule.

                Comment


                • #9
                  Don't have the programming skills, although I have skills programming robots...

                  Comment


                  • #10
                    I don't contribute as much as I'd like due to not having the time or energy after work each day (which is embedded C mainly), so I'm mostly limited to helping others on forums/mailing lists/etc when I know a solution to a problem they're having.

                    Comment


                    • #11
                      Writing compilers is 'serious business'! Seriously though, it's very hard and not really something you just hack about a bit in and then submit a patch. There's a reason most of the developers on GCC are employed by companies such as Red Hat, IBM, Novell etc to work full time on GCC. Also why Apple hired people (like Chris Lattler) to work full-time on LLVM.

                      Comment


                      • #12
                        I can program very well but have never worked on an opensource program although this thought has crossed my mind many times. I believe previous commenders provided most of the problems. In general, even WITH well documented code, it is a pain to understand code from other programmers with whom you have no physical contact and have never worked with as a team.

                        One other i personally find importand and i would like to discuss is that many projects are written in not so popular languages like python. Now most universities do not teach python, but teach Java, C ,C++ etc. And in the business world, python is low in popularity. I only encounter programs written on it in the opensource world. It is relatively easy to learn a new language if you are a programmer. I learned C in 2 days. Learning some reserved words isn't the big deal, learning its libraries is. My problem with python and similar languages, is that i am not willing to learn those languages just to contribute to opensource. I am getting paid to program in Java, and i am equally skilled in .Net and C/C++, and those languages i would like to use with Opensource as well. To become and expert programmer, is not about learning the basics of every language in existence. You need to pick one or two and learn them well. Use them extensively.

                        The problem isn't that python is much different than Java and C, it isn't. The problem is that there are some differences in the way all languages handle things, and one cannot track all changes and still be a good programmer. I don't want to change my mindset every time i go home from Java to Python. This will make me lose my edge in the long run. It will also tire me. I want to be good only in languages i will use professionally.

                        So when most opensource projects i would like to improve are made in languages i don't want to learn and use i cannot join their team. Sometimes i really don't understand why Java isn't used more in opensource ecosystem. It is opensource, it is more popular, and in my opinion just better.

                        A solution could be for me to start from scratch, but for obvious reasons this isn't attractive to me...

                        So those two problems i mentioned are personally holding me back.

                        Comment


                        • #13
                          Well, I am just now learning to really program stuff at University (for the past 2 years), but mostly in Java, though we do use C# (Silverlight) and C++ (OpenGL) too.

                          I am not NEARLY skilled enough to contribute to a project yet, and on top of that, I simply have no time to spare for it either. I wouldn't even know were to start.

                          Comment


                          • #14
                            Originally posted by TemplarGR View Post
                            I can program very well but have never worked on an opensource program although this thought has crossed my mind many times. I believe previous commenders provided most of the problems. In general, even WITH well documented code, it is a pain to understand code from other programmers with whom you have no physical contact and have never worked with as a team.
                            This is an inevitable part of FOSS, and sure, it can be challenging. Communicating efficiently using electronic mediums, possibly in a non-native language is a skill, much like communicating well face-to-face is. But its not exactly black magic. And with the current trends in the IT and business world in general, I would think that developing this skill would be interesting to a lot of people. FOSS provides you with an excellent opportunity to get the required hands-on experience.

                            Originally posted by TemplarGR View Post
                            The problem isn't that python is much different than Java and C, it isn't. The problem is that there are some differences in the way all languages handle things, and one cannot track all changes and still be a good programmer. I don't want to change my mindset every time i go home from Java to Python. This will make me lose my edge in the long run. It will also tire me. I want to be good only in languages i will use professionally.
                            Why do you assume that will make you "lose the edge"? And why do you only want to be good at languages that you get paid to write in?

                            Btw, according to ohloh.net, java is more used than Python. Java and C/C++, has about 50'000 projects available, so there is plenty to chose from if the language is important.
                            http://www.ohloh.net/search?q=language%3Ajava
                            http://www.ohloh.net/search?q=language%3Apython
                            http://www.ohloh.net/search?q=language%3Ac

                            Comment


                            • #15
                              Originally posted by TemplarGR View Post
                              Sometimes i really don't understand why Java isn't used more in opensource ecosystem. It is opensource, it is more popular
                              And its GUI looks like ass on the desktop :P

                              Comment

                              Working...
                              X