Announcement

Collapse
No announcement yet.

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

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

  • #16
    Originally posted by frostwarrior View Post
    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".
    First of all, no one is born a programmer. All programmers have learned it, with various degrees of difficulty and success. And it is something everyone can learn provided that they are sufficiently motivated.

    Secondly, working code is good code compared to no code. "Make it work, make it good, make it fast" -- someone smart, possibly Linus.
    If you can make things work then thats great, its an excellent start. There seems to be this assumption that you have to be brilliant to contribute "official patches". You don't. The most important thing is that you are able and willing to write code, code that works. Also important that you are willing to improve by continuing to work on it, and fix issues when they appear. If you have those two traits, it will go a long way.

    And as stated by others, there really is tons of other things to do around a free software project apart from coding.

    Comment


    • #17
      I used to, here is why I don't anymore

      Comment


      • #18
        Originally posted by RealNC View Post
        And its GUI looks like ass on the desktop :P
        That's why you'd want to use java-gnome or whatever bindings Qt has. Python, nor any other programming language has a specific GUI toolkit which is popular on the Linux desktop.

        Comment


        • #19
          For me, like for others here that have expressed similar reasoning, its mostly down to either the 'real' or 'perceived' entry bar hanging way to high for gaining my 'casual' interest. But I need to get 'pulled into a project' deeply enough, before I become motivated to spend considerable amounts of my free time with.

          So it boils down to, that contributing code to SOME opensource-projects takes to much of my time to get me to the point that I want to spend more time with it.

          Comment


          • #20
            Originally posted by jonnor View Post
            First of all, no one is born a programmer. All programmers have learned it, with various degrees of difficulty and success. And it is something everyone can learn provided that they are sufficiently motivated.

            Secondly, working code is good code compared to no code. "Make it work, make it good, make it fast" -- someone smart, possibly Linus.
            If you can make things work then thats great, its an excellent start. There seems to be this assumption that you have to be brilliant to contribute "official patches". You don't. The most important thing is that you are able and willing to write code, code that works. Also important that you are willing to improve by continuing to work on it, and fix issues when they appear. If you have those two traits, it will go a long way.

            And as stated by others, there really is tons of other things to do around a free software project apart from coding.
            Pretty good reply.

            Like a lot of things in life, getting good at programming takes persistence - you have to just keep doing it. Your first attempts will reflect your inexperience; as you keep revisiting old ideas and refining them it all improves. This can be a slow process at first, so it takes patience. It doesn't take real genius, but most people just don't have the patience to keep plugging away at it over and over.

            Personally, I was a gcc maintainer from 1987 thru 1994 or so. My degree is in computer engineering, and I taught myself my first three programming languages one summer after 6th grade. Playing with code is something that I just really like doing, so I'm perfectly happy to spend hours at a time solving whatever programming puzzle is in front of me. If this isn't something you enjoy, then no, you're probably not cut out for contributing to a lot of projects.

            I can pick up anybody's code and start to make sense of it in a few hours, comments generally aren't important to me. I've worked on the code for gcc, gdb, gmake, ld, gas, texinfo, tex, apache, tcp_wrappers, screen, X11, bash, tcsh, multiple kernels and drivers, mplayer, ffmpeg, glibc, embperl, pretty much any tool or code that a developer relies on, I've needed to fix. I'm also a core developer on OpenLDAP, and have been since 1999.

            Mostly I code in C, occasionally in asm. But I use a lot of tools written in a lot of languages, and if something doesn't work right, or the way I want, I figure out how to fix it, regardless of what language it's in. java, python, perl, C++, postscript, whatever.

            I don't think this is unusual, for a lot of the developers I've met. You either like this kind of work or you don't. If you like it, you will naturally figure out how to do what you want. If you don't naturally take the time to do that, then you won't. It has nothing to do with commercial viability - I don't stop to think "is learning this language going to make me more marketable" before diving into a code base. The only question that matters is "do I care enough about the problem at hand to solve it?"

            And that's it - if you care, you will spend the time.

            Comment


            • #21
              Well I am not a programmer and I don't really want to be, it's just too messy for me. But I try to promote FOSS when and wherever I can - installed a few Ubuntu's on a few friend's pc's that were using Windows. Now they are more than satisfied customers. Also heavily using open source apps and try to make some helpful suggestions whenever I can to at least improve the product a bit like that.

              Comment


              • #22
                If you think that proprietary code is more understandable than open source code you have probably been very lucky in what companies you have worked for. My impression is that at least the major open source projects have better code. That said, the quality varies a lot and we should certainly try to lower the barriers to contributing as much as possible.

                People need to learn that code is FIRST a story about how something works that is meant to be read by another human being. Only SECOND is it instructions to the computer.

                Comment


                • #23
                  Well, I'm not experienced C programmer although I understand it well. The problem is not only with knowing C as it is getting familiar with the codebase. Not often but sometimes I'm forced to dive into a source because of an API break and to chase the function that replaced the deprecated one. Usually the maintainer of that code is working on a patch but when you try to revive an abandoned peace of code that wasn't worked on for a long time - then you're in a world of problems. Poorly documented source with no comments or useless ones, chasing wich header to include that provides the function you need etc...

                  So I'm doing what I can do - beta testing. Not for distributions - cause I'm no distrohopper, I use Arch because it's vanilla as it gets and pretty close to upstream. I'm always lurking for regressions for Intel IGP's in the kernel and X and I'm always using the RC's. That's not an easy job also, cause sometimes bugs are difficult to trigger manualy and can't be reproduced that easily, so bisecting can be difficult or almost imposible.

                  Great documentation is what every programmer needs, if there isn't one available, well the project is the one that suffers...

                  Comment


                  • #24
                    Well, what it takes for me to contribute is to have an itch, like ESR says. If there's something bothering me enough in something that I use, that's reason enough to fix it and send upstream.

                    So far I haven't come against a legal waiver, but I guess that would stop me. A language isn't that much a barrier, nor is code quality.

                    I agree that if you have working code, it's likely to get accepted even if it isn't (yet) beautiful.

                    Comment


                    • #25
                      Originally posted by curaga View Post
                      Well, what it takes for me to contribute is to have an itch, like ESR says. If there's something bothering me enough in something that I use, that's reason enough to fix it and send upstream.
                      With that mindset, only software that bothers people will get contributions. Usually, software the bothers people ends up not being used rather than getting contributions...

                      Comment


                      • #26
                        I lack focus in every aspect of life, limiting my progress in learning to code and how likely I am to participate. I'm also not much of a 'team player'. I file bug reports and occasionally sift through a source tarball or two, to make my bug reports an easier and more likely fix.

                        I also occasionally find myself adopting the circular logic that I don't file/fix bugs/feature requests because I don't use the application and I don't use the application because of bug/missing feature X.

                        By far the biggest barrier, however, is all the signing up and navigating my way around often awkward bugzilla/trac sites. It's the same reason I pirate media and still go to actual stores, rather than use ebay/steam/etc. The project I've contributed the most to (Pragha), happens to be one that just uses a wiki for keeping track of bugs and feature requests. While such a scheme wouldn't work for a popular project, being able to just jot down my complaints/ideas casually, has been great.

                        Comment


                        • #27
                          Originally posted by RealNC View Post
                          With that mindset, only software that bothers people will get contributions. Usually, software the bothers people ends up not being used rather than getting contributions...
                          Eh

                          Do realize it can be a "good" kind of bother as well. Maybe I currently do task X in another app, but it would be perfect for one I use more.

                          Comment


                          • #28
                            I used to contribute to many projects but just don't have the time anymore. Kids, work, sleep, etc.

                            Comment


                            • #29
                              Originally posted by LinuxID10T View Post
                              Don't have the programming skills
                              Me neither. That's why I don't code on FOSS projects, but instead translate the GUI, keep some of their Wikipedia entries up to date, report bugs, etc.
                              On average, I spend only a few minutes per day on FOSS contributions. That's not much, but it adds up if done somewhat regularly.

                              Comment


                              • #30
                                I've tried to contribute a few times to the KDE project and I have found the following:

                                1) Its like trying to jump onto a moving train. A fast moving train. On the one occasion I managed to complete a patch, the patch was already obsolete by the time I submitted it!

                                2) Time. It may be distasteful to many people here, but I work full time as a Windows developer. I don't get that much time to contribute.

                                3) I'd love to move to a company that worked with opensource technologies - but its a chicken and egg situation: I can't get an opensource job because I don't have the experience (at least on my CV), and I can't get the experience because my current employer would not even consider open source technologies. I have to confess that part of my motivation for trying to contribute to KDE was to get some stuff to put on my CV, as well as to become more familiar with Qt and associated technologies.


                                P.S. First post :-D

                                Comment

                                Working...
                                X