Ask Slashdot: What Does the FOSS Community Currently Need?
First time accepted submitter d33tah writes "In the summer term of my final year of IT's bachelor's course in my university, every student is obliged to develop his own project; the only requirement is that the application would use any kind of a database. While others are thinking of another useless system for an imaginary company that nobody would actually use, I'd rather hack up something the FL/OSS community actually needs. The problem is — how to figure out what it could be?"
Better hygiene. Less beards. More women.
What are we missing.... while its easy to ask what we need, what ever you've found lacking in the past is the best place for you to start.
- http://www.milkme.co.uk
And for that matter, the big social networks and their apps or app-like interfaces. These are two sides to a common threat: the partitioning of the internet into a device- or social network-delineated series of ecosystems.
Definitely need another web framework option
How about something fun, like filesystem statistics? Keep track of the most used files to make sure you spread the disk and your mental load equally. Quite possibly useless, but could be fun to do. The hooks into the FS might be the hardest part about this, though.
Write a generic ETL app. Quite useful. Might be many out there, though. Probably few good free ones..
Or something that converts a (well known) log format into database entries for the purpose of easier statistics than what grep can provide?.
For instance, take a webserver log, dump it into the database and generate something like a visitation path..
The database isn't technically needed for this, of course, but with a large dataset, you can't keep it all in memory, so it would be useful..
Move sig!
High Priority Free Software Projects
It's not really any particular project...There's tons of them out there. There are some areas that are lacking, though...QA, RE and documentation practices suck. The major projects tend to be better at them, but most of the smaller projects are pretty terrible at all three.
You've identified a problem, the FL/OSS community need a database of applications that the FL/OSS needs.
Also, writing such a 'useless' system might actually be what your professors are looking for, since it's what you are likely going to work on much of your time as a corporate code monkey. 'Useless' here meaning: in your perception, not to the corporate bottom line.
Sounds highly unlikely, that would imply the professors are actually aware of the outside world.
You should really be thinking of what your course teachers expect from this project. From their point of view they are likely after their students building a basic CRUD program (create, retrieve, update, delete) to show that they understand the basics of designing and implementing a system and have some basic database skills.
The thing is, CRUD programs are not really that interesting or really, that difficult to make. There will be dozens of them available open source, and these will likely cover all the high impact general cases. What you could contribute relatively easily is a a program for a specific case.
For example: I play around with 3D printing, and I have lots of various coloured filament in varying quantities. I want to know how much I have of each so that I can use up the scraps on little prints, and save the longer lengths of filament for bigger prints. At present this means a little guesswork and some time with a tape measure.
This problem could lead to a nice simple project: build a simple database backed system to monitor filament stock levels, which allows putting in info, saying "I have used x much of this spool to print" and asking "which is the shortest spool with enough for this print?". If you kept it to the assumption that it would be a light weight program not requiring an existing database environment that would make it easy to demo as well - jsut use one of those lightweight DBMSs that dumps it's stuff in a single file. Nice and simple, but extensible.
The extensible bit is important, since it means if you get the basics done you can add on some features for extra credit. I don't mean shiny to the user features, but rather shiny to the markers features.
For example: you could make it pseudo distributed, so that I could have it running on two machines independently and synch them at will; this would mean you could look into transaction systems where you store what was done on each and synch them by applying in time order (something that is useful in big commercial database setups such as retail management systems).
Another example: you could have it capable of generating QR code labels linked to the particular spools records, and have a mobile app. Scan the QR code and have the phone call a web service front end to the database and look up exactly how much is left, and offer the option to mark it as printed with.
Basicly: pick something which is simple, but lets you show off your technical skills. If you can help the OSS movement now that's just icing, but you're better off looking after yourself at the moment so that later you can help with less constrained projects.
Mapping tools for mobile devices. Like "OSMPad", but better, if it possible at all.
Probably the target is something that can be done by you alone and resulting in something functional in short term, then kick it into open source (not sure if could be considered yours for the course if had major contributions from a community).
A web app or a webservice to be used by a mobile app could be popular. Think in something in that categories that you could need (so you'll be your own client, knowing the requirements), and don't find in F/OSS (or what you found don't match your exact needs).
Another alternative would be extending an existing open source program with a plugin or extension with a functionality that it don't have currently (it could be implemented already in alternative, maybe commercial, software) and you would like and understand (but must to be one that actually uses a database). CMSs and similar are good candidates for that.
If your comfort zone can be stretched into biotechnology, there are many opportunities for analyzing huge volumes of data in genomics/proteomics. As one modest example: a select number of model organisms are commonly used for basic research. Is it feasible to build an app/tool that can gauge the suitability of an experiment subject for a particular scientific inquiry based on available genomic data? Recently, I heard a talk by a researcher in autism attempt to find a mouse model of the disorder based on observed behavior in cognitive experiments across many different laboratory strains that have been inbreed to very exacting parameters for other experiments. Given the level of detailed information on these particular strains, it is easy to see how convenient it would be to have a tool that can mine their genomes for a particular trait or set of traits or perhaps even do an in silico genetic engineering experiment before any resources are physically committed. Even if hardcore biology isn't your forte, you might maybe talk to someone who teaches the subject and ask what tools can be developed to help visualize or otherwise communicate conceptual information that derive from databases of the type kept by organizations like NCBI.
Stay sentient. Don't drink bad milk.
Double check your university's policy on copyright of student work.
Write a cross platform easy to set up and use peer code review software (take hints from CodeCollaborator theirs is good but expensive). It should have hooks into Git/SVN and be easily extended in the future to include other version control systems. It would also be cool if it had the ability to have source code scanning plugins like phpcs (code sniffer) or phpmd(mess detector)... I'm a PHP guy you can tell, but I'm sure the guys from the java, c++, and other communities could use similar tools. Make sure it has an easy to set up web interface (you could package a webserver into the deal that listens on whatever port is configured during the setup process).
If you want to learn a lot about code, really help out the community, and get a lot of love, write some documentation for other people's code.
Now how you work the database requirement into that, I don't know. Perhaps you could write a documentation request tracker for ReadTheDocs.org - their site is on GitHub at https://github.com/rtfd/readthedocs.org so you can fork it, write something that lets people request and prioritise projects that need docs, then submit a pull request.
If you're really ambitious, write a web-based environment for writing, editing, and submitting documentation to projects on GitHub, BitBucket, etc.
the free software world needs a good video editor.
a database would be very helpful in the editing workflow - strangely enough no edit suites have it but most photo programs do.
to be able to assign tags to clips and subclips and all media, sort by timecode, sort by who is in it, sort by how good a take it is, right-click a shot in the sequence and be able to see a list of things relevant to that particular clip would be amazing.
of course, there's way more than a bachelor's in a project like this.
you could always just make an innovative xmms plugin that implements a database of the tags in your music library, and maybe helps you to choose what to play next...
Actually, just the logger for this might not be a bad idea. The concept of a "good gui" goes infinitely further than "something with a database", but I think a lot of people would be interested in this. Ask people in the autocross/gymkhana communities. You'll want to correlated it to things like GPS and g-force sensors. Could be very interesting. I've seen real-time systems like this, but it might be VERY interesting to do this for a complete analysis after a run.
Move sig!
OSM is now growing. There is tonnes of mapping data available,
How about improving offline navigation capabilities.
For example, currently OSM AND simply does offline navigation based on POIs. How about integrating an offline address search.
My Aurora : http://www.youtube.com/watch?v=o91ZsGwJYyg
FB : https://www.facebook.com/TanveersPhotography
Xzibit, is that you?
There are a lot of utilities that convert log files (from Apache for instance) to databases and perform data mining on them but there are still a lot of services that do not yet have these tools. This would make for an interresting database project as you could do a lot of really complex queries and have it create human readable reports.
If the OP really means what the community as a whole needs rather than one useful thing for part of that community, then ironically I think you've just nailed it: more than anything else, the community needs a way to match up willing and able contributors with projects that could benefit from their contributions.
To do that, the OP could develop a simple database that understands things like:
Provide some sort of keyword store (extension: recognise related entries/common aliases) or defined scale for each property, let projects say what they need and volunteers say what they're willing to contribute, and help people get matched up.
This has the handy advantage for the OP of being readily scalable from a simple proof of concept with a simple native or web-based UI right up to a full-blown and genuinely useful service if you can find a way of getting it hosted properly. It might help particularly with contribution in areas other than programming, which in practice is often where OSS projects run by volunteers for free start to fall behind commercial projects run by businesses with cross-disciplinary teams.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Semi-serious. I think Slashdot's got one of the best content/comment/moderation systems around - certainly better than Reddit, way better than the ashes of Digg, and more useful than Usenet.
Build a FOSS database with whatever improvements you design, as the underpinnings for a new Slashdot not owned by some mega-corporation intent on shoveling crap articles at us, like "how to get employed by RedHat" or video interviews about random horse crap?
If this were Usenet, I'd killfile the lot of you.
I love what Ubuntu has done with the idea brainstorm (http://brainstorm.ubuntu.com/). But I would love to see a similar platform but in general for open source ideas. I'd be happy to offer web hosting for this. An additional feature could indeed be matching savvy people with projects, but we need to identify great ideas first.
Write a (Linux, BSD) filesystem driver that keeps its file metadata in a database.
Use queries to construct the filesystem layout. E.g.
...and so on. Don't ask me what the exact queries should be - the idea is just that files are arranged in the filesystem because of their attributes rather than having a single home.
Add a chattr command (or somesuch) to modify metadata for a particular file, or implement the inverse of the queries as attribute changes (i.e. mv /bin/ls /sbin/ls causes the owner=root attribute to be set on the file).
I'm not saying it'd be useful to anyone in the FOSS world, but it would be great fun.
The OS/2 community is in need of open source clone for our beloved OS.
We have partially open source components on all the layers, but some need to be finished and glue them together.
We need:
- Workplace Shell replacement (xWorkplace can be used)
- SOM replacement (FreeSOM can be used)
- OpenDOC (docshell)
- PM (Presentation Manager) replacement (FreePM can be used but is missing a more)
- OS/2 Kernel replacement
- TCPIP replacement.
- Drivers
- OSFree project code can also be used.
How many people here can't read the fucking summary? here's a shot at it. How about a de-duplicator for music/photos that would (nicely) hunt for media, throw the metadata in the database, search for identical and almost-identical files, and then beautifully show the output. Bonus points if you beat the standard interface to these things which is just a list of duplicated files. I'd suggestb bubble diagrams that show how many files in which folders are duplicates of others.
PostgreSQL has a wonderful wiki todo list. Just pick your task.
My pet peeves are on domains, localisation, derived relations, and integrity constraints.
Leandro Guimarães Faria Corcete DUTRA
DA, DBA, SysAdmin, Data Modeller
GNU Project, Debian GNU/Lin
From the submitter:
Well, there we go, you already have a problem that needs fixing! So how about this:
A database that keeps track of FL/OSS community needs. Some possible features:
1/ People go to your website/program and input their software needs. Could be a form with relative requirements on each need. You put the requirements and users in a database, with some sort of relationship between user and need.
2/ People with projects can put their project in the database by stating its goals, as well as state of completion. The state of completion implies (negatively) what requirements still need to be fulfilled for each project.
3/ Your fancy program tries by some algorithm to match 1+2, using some sort of database. Your program brings people's needs and the projects needs together in some form that allows the needs to be fulfilled. Bonus points for making it some sort of social site. Your software is not only open source, but even "community driven".
Actually your question points out a need - how about fulfilling that need? You have already tried to find something that would help you, but couldn't find it - how about doing something about it? This is the best way to do software - not by taking an arbitrary list of stuff from others, but actually experiencing the need yourself. Since you know the requirements in some degree, you should put your energies in fulfilling them. Would make an interesting and useful project.
Good luck with whatever you decide to do.
Other than the unkempt state of many nerds (I am one of them), the other big problem is pick up lines
A database of excellent pick up lines, and examples, preferably video demos, would be a plus
Muchas Gracias, Señor Edward Snowden !
Since you are finishing school, you know something about what students want, and could easily get feedback about what teachers want. Many schools do online classes using the Moodle framework, a modular learning management system. The Moodle forums and bugzilla have ideas for new modules. Someone above mentioned a fast, lightweight quiz system. That's something that Moodle users need - there have been multiple requests for it recently. Specifically, people have need for a quiz system which loads separately from Moodle, but talks to the Moodle database or webservice. Currently the existing quiz system is integrated into Moodle, so opening a quiz page drags in a MILLION lines of Moodle code. That's not scalable. People want a lightweight quiz so that 20,000 students can take the quiz at the same time, then send the data to Moodle, either directly to the database or import it from a file.
A network mapping software with a modern UI. It should be able to use CDP, LLDP, MAC tables.. Bonus points for IPAM.
Making the puppet for network devices more complete and / or providing an alternative.
Seriously, FOSS is a self limiting activity. For example, since I lack the patronage of a mother and a basement, and I'm not still at university, I have to make actual money to support my luxurious lifestyle, which includes eating every day and shoes. Being single is a big plus for FOSS, but against all odds, a few of us have managed to engage in actual reproductive activity with a single partner for a sustained period (We even got a license for it!). To really give a boost to FOSS, this sort of thing should be abolished.
Please do not read this sig. Thank you.
Web based IP Address Management software. There are a few out there, most of them dead. Some are add-ons to bigger projects (NOC Project, Infoblox,) or doesn't work like I want (GestióIP), or cost too much for us (Solarwinds). DB backed with auto-discovery and a useable web interface. I use NOC, but most of it is wasted since I don't use any of it. Mostly just the IPAM stuff.