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?"
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?
A dentists chair and some teeth?
(bad joke i know)
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.
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
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
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.
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.
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.
Last I looked KGDB worked quite well, and it behaves in a very similar fashion to Windows when being debugged.
You mean GDB? What "new things" could be added?
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..
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.
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.
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 :)
Clippy
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.
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?
I see you are programing a privilege escalation exploit, would you like help with that?
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.
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
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....)
For sure I can imagine a few things:
Yeah, GDB can do a lot. But GDB alone is not enough for efficient debugging.
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.