Slashdot Mirror


What Tools Do FLOSS Developers Need?

An anonymous reader writes "I am a free software developer; I maintain one relatively simple project written in C, targeted at end users, but I feel that I could contribute something more to the FLOSS community than my project. Instead of focusing on another project targeted at end users, I thought that I could spend my time working on something FLOSS developers need ('Developers, developers, developers, developers!'). The question is: what more do FLOSS developers need from existing development tools? What would attract new developers to existing FLOSS development tools? Which existing development tools need more attention? I can contribute code in C, Python and bash, but I can also write documentation, do testing and translate to my native language. Any hints?"

47 of 310 comments (clear)

  1. Visual Studio replacement on Linux by sopssa · · Score: 4, Informative

    Visual Studio is the favorite IDE for lots of programmers and without a doubt still the one thats considered best there is.

    However I've started doing some Linux programming along with other languages that could be developed on Linux (PHP, Delphi/Kylix). However the IDE's I've tested dont seem to compare with Visual Studio or even Delphi's IDE. In most cases they're mostly somewhat advanced text editors and building and debugging is more inconvenient. They just dont feel like complete IDE's where you can do your work. Is there such professional suites available on Linux and if not, what could be done to improve the existing IDE's and tools to that level?

    1. Re:Visual Studio replacement on Linux by Akido37 · · Score: 3, Informative

      Eclipse doesn't work for you?

    2. Re:Visual Studio replacement on Linux by swanriversean · · Score: 2, Interesting

      Eclipse is a fairly good ide, it could use help with C/C++ development tooling.
      gdb could stand some love, especially so that it can better be hidden behind a UI.

      --
      Be who you are and say what you feel, because those who mind don't matter and those who matter don't mind. - Dr. Seus
    3. Re:Visual Studio replacement on Linux by SSpade · · Score: 4, Insightful

      I'll take Qt Creator over Visual Studio for C++ development any day.

    4. Re:Visual Studio replacement on Linux by Microlith · · Score: 2, Insightful

      Between Redhat's Insight tool and DDD, it's already well hidden behind UIs. Sure they aren't shiny and glossy with anti-aliased type, but they do the exact same job that the VS debugger does with allowing you to step through the code.

      In fact, there's nothing special I've seen in Visual Studio's debugging that couldn't be done with DDD.

    5. Re:Visual Studio replacement on Linux by WillAdams · · Score: 2, Interesting

      Try an Interface / Project Builder replacement instead:

      http://www.gnustep.org/

      InterfaceBuilder.app clone:

      http://www.gnustep.org/experience/Gorm.html

      ProjectBuilder.app clone:

      http://www.gnustep.org/experience/ProjectCenter.html

      NeXT used to charge $4,995 / developer seat for such tools --- now one can get them for free (even w/ a Mac, one can get a free on-line membership in the Developer's Connection and download the latest version)

      William

      --
      Sphinx of black quartz, judge my vow.
    6. Re:Visual Studio replacement on Linux by teeks99 · · Score: 2, Informative

      I tried this out for the first time a couple weeks ago (after several years of Visual Studio usage) and was very hopeful...however I left feeling that it wasn't quite finished all the way. I got the impression that it was just a bunch of tools glued together with a rapid-development type GUI framework.

      That said, I was quite pleased with it overall. I definitely will strongly consider using it next time I start a project. For my two cents, I think this is a great example of what the author is looking for, a tool that will help FLOSS developers that could use a bit more help :-)

    7. Re:Visual Studio replacement on Linux by cjcela · · Score: 4, Insightful

      I agree. Visual Studio is by far the best out there, and it is painful not to have something comparable available in other platforms (I currently use OSX/Linux). I've been steadily moving away from proprietary tools and frameworks for the last 3 or 4 years, and it is a painful process. Eclipse is mostly good (excellent for Java), but when developing in C++, its debugger is not great. Same goes for Netbeans. They are 90% there, but the remaining 10% is so frustrating that makes large projects a pain. I am considered moving to Codelite instead, which feels to me a bit more like Visual Studio 6, and has much better debugger support for C++. On the down side, Codelite tends to be quirky on OSX.

    8. Re:Visual Studio replacement on Linux by sbeckstead · · Score: 3, Interesting

      There's nothing special I've seen in Visual Studio's debugging that couldn't be done with DDD
      This must be some new meaning for the word "done" that I have previously been unfamiliar with.
      Can you edit and continue when working with C++ or C#?
      Making changes on the fly is one of the premium features of Visual Studio and I have never seen it in any other IDE. True I haven't used all of them yet but I've been thru netbeans, eclipse and a few others. The integration of the IDE with the debugger is far more important than the utility of the debugger. I have seen this with python, lua and several interpreted basics but not with C++ or C#.

    9. Re:Visual Studio replacement on Linux by Microlith · · Score: 3, Informative

      Can you edit and continue when working with C++ or C#?

      While it is an interesting feature, changing code at runtime always seemed suspect to me. I don't know if it's possible at all in Linux, and I know it's not possible in Windows if you're targeting a 64-bit platform.

    10. Re:Visual Studio replacement on Linux by HeadSoft · · Score: 2, Informative

      Code::Blocks is a good one for Linux, it's not quite Visual Studio but it has most of the same features, the ones you actually use on a regular basis. I haven't tried the Windows version, but I know one exists as well.

    11. Re:Visual Studio replacement on Linux by EsbenMoseHansen · · Score: 2, Interesting

      KDevelop 4 is shaping up to be a very good IDE. Probably worth to try out a beta if you're into FLOSS. Does PHP (I hear) and C++ (I know) quite well. A few stupid corner that are not quite there yet, but most of the hard stuff seems to be working.

      --
      Religion is regarded by the common people as true, by the wise as false, and by rulers as useful.
    12. Re:Visual Studio replacement on Linux by shutdown+-p+now · · Score: 2, Interesting

      Qt Creator has very good visual design tools, but the editor is lacking in things like code completion compared to VS. Even more so if you compare latest development versions of both rather than stable releases - VC++2010 can do code completion correctly on the template metaprogramming mess that is Boost.Lambda, for example; the only C++ IDE that can match this, from what I've been told, is KDevelop 4.

    13. Re:Visual Studio replacement on Linux by V!NCENT · · Score: 2, Informative

      Code::Blocks is what you are looking for. http://www.codeblocks.org/

      --
      Here be signatures
    14. Re:Visual Studio replacement on Linux by gbjbaanb · · Score: 2, Interesting

      Its not so suspect, its just convenient. When you're running your app through the debugger, and find a piece of code that doesn't work, quite like you expected, you can change your current statement position, change the offending code and run through it. Its no more suspect than altering a variable value whilst debugging.

      Of course, once you're done you recompile and run through again to make sure.

      I think it works by re-compiling and linking your changes at the end of the image, and then adding a jump to the relevant section (and then back again). Edit&continue doesn't work unless you have 'incremental linking' turned on, so I'm guessing its built on the ability to add code to the linked image rather than re-create it.

      I find that 64-bit E&C support is strange, I was going to criticise MS for not supporting it in C++, but then it doesn't work in VB.NET or C# either.

    15. Re:Visual Studio replacement on Linux by Mongoose+Disciple · · Score: 4, Interesting

      IMHO, Eclipse is a great example of what's wrong with Open Source software from a usability perspective -- to be reasonably productive with Eclipse, you probably need a bunch of plug-ins, a bunch of time tweaking the preferences, someone who's spent years using it, and probably all of the above. Possibly you also need twice the memory (or more) of just about any other option to run at a reasonable speed for no apparent reason.

      I'm interested in coding; I'm not interested in spending a bunch of time fighting my IDE to do it, and when I think about the years I spent using Eclipse, that's basically what I remember. Other people have a different experience with it and I won't say they're wrong, but that's what it was like for me.

    16. Re:Visual Studio replacement on Linux by EvanED · · Score: 2, Insightful

      I suspect it's more that both hold because of the different mindset that each platform engenders. The Windows command line is mostly crap because the attitude in the Windows world is mostly that it's unimportant, because GUIs can accomplish the same thing. And that attitude leads people to make advanced GUIs.

      In other words, it's the same thinking of "we should do this in a GUI" that leads to both situations, not someone sitting down and thinking "I want to write this as a command line tool, but that'll make it a pain to use, so I'll write a GUI instead."

    17. Re:Visual Studio replacement on Linux by Splab · · Score: 3, Funny

      I have to ask myself, did the poster think that after quoting and highlighting a particular thing from the original post, we still wouldn't understannd that they thought it was an important part?

      Seriously, the "THIS" meme has to die, and I don't care how ugly it gets or how loud it wails, as long as I get to say "I am thankful for its end." Next time, I'm using mod points.

      This!

    18. Re:Visual Studio replacement on Linux by Mongoose+Disciple · · Score: 2, Interesting

      I can try; to be fair, it's now been a while since I've used Eclipse.

      I remember things like:

      - Needing to choose/install/configure plugins for things I generally consider to be standard IDE features, such as user interface (Swing, etc.) design or decent debugging
      - Views switching for no reason I could discern
      - Eclipse taking a long time to start up, which is tolerable except that it also crashed a few times a day
      - Problems building/deploying, such as the infamous "Eclipse Dance" and
      - Generally, spending more time dicking around with Eclipse and its plugins' config files than I have for any other piece of software, possibly more time than every other piece of software I've used put together.

      Most of the Java work I did was web development on fairly large projects; I know many people, even those doing similar kinds of work, have had a better experience with it.

    19. Re:Visual Studio replacement on Linux by Mongoose+Disciple · · Score: 2

      Out of curiousity, why do you prefer makefiles over a VS project file?

      It's almost certainly true that I never did enough with makefiles to get particularly good with them, but they mostly seemed like a pain in the ass to me -- a side chore to be completed so I could get to actually solving the problem at hand. I'm interested to know what I'm missing.

    20. Re:Visual Studio replacement on Linux by mmclean · · Score: 2, Funny

      This +1

    21. Re:Visual Studio replacement on Linux by HeronBlademaster · · Score: 2, Interesting

      Visual Studio's C++ Intellisense gets better with every release (try out the 2010 Express Edition). 2008 in particular made Intellisense faster and more reliable and more user-friendly. It tends to not play nicely with anonymous namespaces, though, so if you use those a lot that could be a problem.

      In any case, I've found Visual Studio's Intellisense to be better than (e.g.) NetBeans' equivalent. Purely anecdotal, of course, YMMV.

      The debugger is what keeps bringing me back to Visual Studio, at least when it comes to C++ development. I never did get NetBeans' gdb integration to work. Eclipse CDT is... clunky, and I never got debugging to work with it either. ddd is not exactly friendly, and its integration with source code doesn't always work right (or: I can't figure out how to get it to work right). gdb *works*, but it's even less friendly, and doesn't have user-friendly source code integration in the same way that Visual Studio does. I've tried a few programs which claim to be alternatives, and I've been unable to get them to work as advertised.

      No, Visual Studio is not perfect, and maybe I'm just too dumb to make the other alternatives work properly. But shouldn't an IDE just work? TBH that's what I think Linux needs before more "mainstream" companies will write Linux software - an IDE for C and C++ development that just works.

      (Yes, I know C and C++ aren't the only options for application development. Responses like "companies should use $LANGUAGE instead" are not relevant to my comments.)

    22. Re:Visual Studio replacement on Linux by HeronBlademaster · · Score: 2, Informative

      What third party libraries in particular make Intellisense die? I know Boost can sometimes make Intellisense bog down, but my experience is that the only thing that never worked *properly* has been anonymous namespaces. Even pointer accesses on boost::smart_ptr worked right. I worked for a year or so on a million-plus-line-of-code MFC C++ application using VS 2003 and then VS 2005 (before 2008 came out), and I never had a problem with third-party libraries (of which we used several), as long as you let Intellisense finish loading when you open the project. There's a progress bar and everything, it's not hard to see.

    23. Re:Visual Studio replacement on Linux by TheFranz · · Score: 2, Informative

      I'd like to claim the exact oposite of what you are claiming. The Intellisense (intellinonsense / intellisenseless) get worse for C++ with every release of Visual Studio. For 2005 it was workable but 2008 is completely backwards. I fear what they did with it in VS2010.
      If I use boost for instance VS doesn't know how to begin with providing me the first bit of information in intellisense relating to boost. even worse: it stops "intellisensing" for other code i've written completely!

      To make intellisense work for us with C++ we use the Visual Assistant plugin. And for C# we also use resharper: this adds all the eclipse niceness to Visual Studio except the "find types". That great feature is still missing, or I haven't located it yet. However this make Visual Studio need 2 plugins to work well.

      Perhaps if you check out a recent version of CDT all the proplems you mentioned are gone: CDT seems to be a very active project. I had no problems with debugging in eclipse CDT with GDB (after spending countless hours getting it to work with KDevelop)

      So for now I can only recommend Eclipse CDT as IDE for Linux C++ app development (having only checked out Kdevelop and Eclipse CDT)

    24. Re:Visual Studio replacement on Linux by Anonymous Coward · · Score: 2, Interesting

      IntelliJ IDEA is going Open Source starting with version 9.0

    25. Re:Visual Studio replacement on Linux by ajlisows · · Score: 2, Interesting

      I'm not a real developer. I'll readily admit that. I'm mostly a Network guy that happens to have written some stuff in C++, C#, VB, pHp, VBscript, Javascript, and Java. In the last four years, I've worked mainly in Windows environments and have been mostly using C++ or C#.

      My foray into using eclipse came when I needed to develop an application on an Embedded board my company wanted to use in its project. The boards that were decided on supported only Java so I grabbed Eclipse and went to work on it. I wasn't very good at Java in the first place so when I found that the IDE had a far steeper learning curve than Visual Studio...I knew I had my work cut out for me.

      There were plenty of forums and such with people giving offering advice on using Eclipse but a lot of it was "Use this plugin", "No, use this plugin instead" to the point where I had so many different plugins Eclipse became slow and I was just confused at times.

      Somehow, I kept managing to blow up the built in web servers that are there for testing, to the point where I couldn't test my applications. I had to do a bunch of crazy stuff to get it to work again.

      The Application I was developing relied on creating a GUI that allowed you to get and put information over a network from a serial port. I expected that dealing with the serial port commands to take a lot of time and effort. What I didn't expect was how difficult it was to lay out the damn GUI compared to how it is in Visual Studio.

      Again, this was a first attempt at using Eclipse, I was using a language I wasn't terribly familiar with, and I was writing an application of a sort that I had never really written before. All that probably figured into my not so great experience with Eclipse. The project turned out great in the end though. It just took waaay more time than I expected.

  2. hmmm by Anonymous Coward · · Score: 4, Funny

    A dentists chair and some teeth?

    (bad joke i know)

  3. Code what you know best by bramp · · Score: 5, Insightful

    You should code whatever you need. If you code something others need, you will either do it wrong, or get bored. Do what you know best.

  4. Add Emacs Lisp to your skills by sznupi · · Score: 3, Funny

    Because we need someone to finally give us proper editor on top of the OS we use.

    --
    One that hath name thou can not otter
  5. Documentation by TopSpin · · Score: 3, Insightful

    API references aren't enough. Need rational, best practices, meaningful examples and references. Tutorials aren't terribly useful because they are inherently limited to cases that are easily teachable. OpenSSL is a fine specimen; crucial parts of the API are omitted from the current, maintained documentation. These can only be found in the archived SSLeay documentation, and that amounts to a spotty collection of notes.

    (yes, I've paid for the books, too)

    --
    Lurking at the bottom of the gravity well, getting old
  6. Documentation by Anonymous Coward · · Score: 5, Insightful

    My biggest problem with much of OSS is that the documentation is terrible. Try figuring out what the *right* way to do a "poll" type call on Linux is, or how to configure clustering with Geronimo and you will quickly realize that outside of reading the code there is almost NO good documentation on how to do more advanced things with open source software.

  7. FLOSS by Anonymous Coward · · Score: 3, Informative

    FLOSS stands for "Free/Libre Open Source Software". I have not seen it with the "Libre" added in there before, so I'm sure others have not as well. Great job spelling it out the first time you use it, Slashdot.

  8. Re:Editors and Debuggers by Microlith · · Score: 4, Insightful

    Anyone that claims they aren't hasn't bothered to use the tools available to them. It's entirely possible to get equivalent context-awareness going in VIM/Emacs, but since they aren't packaged as a whole people write them off as being "obsolete" or somesuch nonsense.

    Get a real kernel debugger INTO the linux kernel. DO it now

    Last I looked KGDB worked quite well, and it behaves in a very similar fashion to Windows when being debugged.

    For that matter dbg could use a little update

    You mean GDB? What "new things" could be added?

  9. Interoperability among SCMs by andy753421 · · Score: 3, Insightful

    Git, mercurial, monotone, etc. are all ready nice, and do pretty much the same thing, but it's annoying to have to use the one that the project leader decides on. It would be nice (if it's possible) to be able to pick which one you want to use as a client, and have it work with whatever the project manager wants to use for the upstream repository. I'm not sure what all this would encompass, probably some common distribution (push/pull) protocol would need to be implemented by all the different SCMs..

    1. Re:Interoperability among SCMs by greg1104 · · Score: 2, Interesting

      The fundamental unit of all SCMs is the changeset. It's possible to convert between the various changeset formats using a tool like Tailor. So you could build a useful prototype of something like this by running incoming and outgoing changesets through that sort of tool to convert to the native format of the server SCM. You can convert them to the native format on the server, so no need to invent a new distribution protocol. People end up building one-offs for this sort of thing out of simple shell scripts sometimes while doing a VCS migration, like attaching an exporter to the post-commit hook on the master to handle the distribution side. I think part of the reason there's been little uptake on a more universal approach is because it's not that hard to hack together something that handles any two of the options here.

      As you can see on the Tailor documentation page, there's already other projects building in the direction of more universal changesets too. One major issues with aiming for really broad support here is testing to make sure every possible operation works, and in cases where they don't figuring out how to limit the subset of work to the common denominator.

  10. Documentation by Anonymous Coward · · Score: 3, Interesting

    If there is one thing FLOSS regularly needs help with, it's documentation.

    I give you OpenSSL: One of the most well known libraries, and the documentation is very lacking. How about some better examples? How do I use PSK? How about a quick start guide?

    So many projects have this problem: They have "API documentation" which is nothing but a list of what the individual functions do with no indication how they get used together. Or they document functions but not data structures, etc. So if you really want to help, write documentation.

  11. Re:Let's Remember by nine-times · · Score: 3, Interesting

    That's fair, but it's also worth keeping in mind that "Fork it if you don't like it" is only better than a closed source product if you have the resources and expertise to fork it. Otherwise, you're just as helpless.

    Beyond that, the software that will eventually replace the old DOS-based crap you're talking about will be whatever meets the businesses'/users' needs. If you'd like to see that be your FOSS project rather than a proprietary solution, then paying attention to user requests might be helpful.

    If you don't care whether your project gets used... well I guess users have no leverage unless they want to pay you, and maybe not even then.

  12. Re:Editors and Debuggers by arevos · · Score: 2, Interesting

    Anyone that claims either vi or emacs is a useful editor hasn't used a modern Windows IDE.

    Anyone that claims Visual Studio is a useful IDE hasn't used Emacs SLIME :)

  13. Re:Editors and Debuggers by MrMr · · Score: 4, Funny

    Clippy

  14. demands != suggestions by Rix · · Score: 2, Insightful

    People who whine and bitch, saying things like "FOSS will never take off if it doesn't conform to me and only me" is why developers say fork it or fuck off. You're not contributing anything, you're just being a nuisance.

    Developers get all sorts of random demands from petulant users. If we patiently explained to each and every one of them why their suggestion either isn't a priority (or even would be detrimental to the project) we wouldn't be developers because that would take up all our time.

    You won't get anything different from closed source developers, except that you wouldn't manage to talk to them at all. They have a bureaucracy to intercept you, and tell you, politely, to fuck off.

  15. Re:Editors and Debuggers by arevos · · Score: 2, Informative

    SLIME does not hold a candle to VS sorry.

    I can think of plenty of features that SLIME has, but VS does not. However, I can't think of any feature in VS that is not matched by either Emacs itself, SLIME or some other extension.

    Could you explain why you think VS is better?

  16. Re:Editors and Debuggers by ae1294 · · Score: 3, Funny

    I see you are programing a privilege escalation exploit, would you like help with that?

  17. QtCreator by scorp1us · · Score: 3, Interesting

    Yes, I'm a Qt Fanboi, but hear me out:
    Qt is free (LGPL), multiplatform (support all users), fill-featured and clean.
    QtCreator (new) is the Qt IDE, with tons of support and integrated help, including an integrated gdb (or other) debugger.
    If you're on Python, then wait a bit for PySide or get PyQt now.

    I feel I can move mountains with just one download the sdk

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
  18. Re:Pay attention to USERS? by V!NCENT · · Score: 2, Insightful

    Foss never takes off? How about:

    Your TV

    Your DVB reciever?
    The internet that you are on, with your supscription to you ISP servers that probably run FOSS?

    How about the global economy? The servers that are keeping trading alive, may they not be run by FOSS for the majority of them?

    How about you webapps?

    Game servers that you play your games on?

    The computer in your car?

    You phone maybe?

    Your radio?

    Webkit, GNU tools and whatever Apple uses in Mac OS X, "The most friendly computers"

    Etc, etc, etc...

    In other words: You don't have a clue...

    --
    Here be signatures
  19. Data Modelling Tool by sgrover · · Score: 2, Insightful

    I've yet to find a decent tool for data modelling. Something akin to CA's ERWin. The best I've fond thus far is pgDesigner, but even that is a kludgy GTK interface and only works with PostgreSQL. I find using DIA for pretty much anything is an exercise in self inflicted torture. To be able to build a database design visually, see the relationships at a glance, automate the generation of the create/alter scripts, etc. This would make business coding SOOO much easier and faster. And it even helps to communicate the application design to new coders to the project who do not understand where data is and why. (Good documentation is one thing, but a picture speaks a thousand words....)

  20. Re:Editors and Debuggers by rastos1 · · Score: 2, Interesting

    You mean GDB? What "new things" could be added?

    For sure I can imagine a few things:

    • GUI where I can drag and drop an expression from source code to watch window, or easily expand a structure in watch window, or switch between threads, or set commands on breakpoints, ...
    • edit&continue
    • remembering display expressions when going into the same functions twice, automatically save/load breakpoints on exit/startup
    • ...

    Yeah, GDB can do a lot. But GDB alone is not enough for efficient debugging.

  21. Re:Screw 'Em by cheesybagel · · Score: 2, Insightful

    Most developers of FLOSS applications code in C or C++. The Visual Studio tools are not as appealing for those languages as for, say, C#. Try reading what Microsoft uses for their internal Windows C/C++ system level programming. It is not Visual Studio, nor is it Team Foundation Server.