Slashdot Mirror


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?"

37 of 356 comments (clear)

  1. Hmm... by LizardKing · · Score: 4, Insightful

    Better hygiene. Less beards. More women.

    1. Re:Hmm... by JaredOfEuropa · · Score: 5, Insightful

      Good set of requirements, but where's the database?

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    2. Re:Hmm... by ixarux · · Score: 5, Funny

      I second this. Hygienic unbearded ladies have always driven the motivations of men. (No offense to the bearded women...) We do need more of them.

    3. Re:Hmm... by Anonymous Coward · · Score: 5, Funny

      Fewer beards. Better grammar.

    4. Re:Hmm... by theVarangian · · Score: 3, Interesting

      Better hygiene. Less beards. More women.

      I'll wash off the stink and you can swamp me with women but you'll have to shave my manly beard off my pale dead face. There is no way you'll get us beardy weirdys to participate you strange metrosexual war on body hair, it's donwright unmanly.

    5. Re:Hmm... by Garridan · · Score: 5, Funny

      Idiot. Women are to be kept in binders, not databases.

    6. Re:Hmm... by jackharbringer · · Score: 3, Funny

      Fewer grammers. More spelling.

    7. Re:Hmm... by tehcyder · · Score: 3, Insightful

      The thing is, if you want to be swamped with women, you'll need to shave. My unscientific studies have lead me to believe that the only reason men shave is because the women in their lives (particularly girlfriends and wives, may they never meet!) require it of them.

      Sure there maybe some unmanly men who shave because they claim to dislike the scratching or itching or whatever, but they are just being silly. Let your facial hair grow for two weeks and it all goes away.

      Anyone who uses the word "unmanly" in an unironic way should probably seek counselling before offering advice on the internet.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
  2. An answer to smartphone apps by zakkie · · Score: 4, Insightful

    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.

  3. Web framework by dan_barrett · · Score: 4, Funny

    Definitely need another web framework option

    1. Re:Web framework by Hognoxious · · Score: 3, Funny

      ... written in a new scripting language.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    2. Re:Web framework by Garridan · · Score: 4, Funny

      ...with separate revision control software

  4. Statistics by jevring · · Score: 5, Interesting

    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!
    1. Re:Statistics by bertok · · Score: 3, Insightful

      Write a generic ETL app. Quite useful. Might be many out there, though. Probably few good free ones..

      That's actually a very good idea, because I've found the exact opposite of your suspicion: there's few out there and they're all bad!

      The kind of insanity I see regularly:

      * Visual programming languages, which are known to be inefficient and just all-round bad. They promise a lot, but fail to deliver.
      * Poor re-use or re-factoring of common tasks, such as consistent handling of groups of columns from disparate sources.
      * Poor parallelism. I suspect that there's no ETL tool out there that can parse a CSV file in parallel. It's hard, because all but the first thread has to "hold" its results and potentially back-track. There are organizations out there that import multi-gigabyte text files!
      * Poor adherence to standards. For example, SQL Server 2008 R2 and earlier don't support the CSV standard. No joke!
      * Poor scaffolding or get-started-quick importing. Lots of ETL tools make you drag & drop at least each table once. Performing an "upsert" merge (or similar) between a database and a subset involving many tables is almost always months of fiddly work. God help you if you need to perform more complex merges...

      Essentially, writing an advanced ETL tool in a high-level and safe language like C# or Java wouldn't be too hard, and would be useful to a lot of people. There's also great tools out there now for developing new Domain Specific Languages (DSLs), which would allow a full-fledged ETL language to be developed quickly.

      Lots of good programming practice in a project like that: parallelism, databases, and parsers. Yet, it's easy to get started, and even a very simple version might be useful for some things!

    2. Re:Statistics by Anonymous Coward · · Score: 5, Insightful

      Wow! You've managed to make programming as much fun as...doing your taxes!

      Welcome to the world of real open source software development. It is real work trying to solve real problems of real users. Large projects that would provide real value are never 'fun' - they're a real commitment on the part of the contributors.

  5. The FSF has a page to answer this question by Anonymous Coward · · Score: 5, Informative
  6. Re:What do YOU need. by azalin · · Score: 4, Interesting

    What about an MP3 Database over removable drives, that lists duplicates and relatives (ie copies or same song - different sample rate, or same song live - studio version), allows mass renaming/updating (or even auto labeling from an online source) - Bonus feature: remember update for other copies of the file on external drives. Along with the option to label drives as "backup of x" (needs all songs in x), player (files may be removed if they exist elsewhere), storage or import (no changes to drive). Add a timestamp for last sync in the database for each drive.
    This might not be the holy grail, and may even exist(?), but it would be useful and is the first thing that came to mind.

  7. You should think of what your teachers expect by PSVMOrnot · · Score: 5, Insightful

    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.

    1. Re:You should think of what your teachers expect by LSDelirious · · Score: 3, Interesting

      Instead of guessing or tape measuring remaining filament lengths, is there some reason you can't weigh the remaining materials? Seems like the filament would be a consistent diameter and density that with a scale of decent precision you could weigh a known length and have a fairly accurate idea of the remaining length.

      --
      Slavery is the legal fiction that a person is property; A Corporation is the legal fiction that property is a person.
  8. OpenStreetMap by Max_W · · Score: 3, Interesting

    Mapping tools for mobile devices. Like "OSMPad", but better, if it possible at all.

  9. bioinformatics by tloh · · Score: 4, Interesting

    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.
  10. copyright by shentino · · Score: 4, Interesting

    Double check your university's policy on copyright of student work.

  11. Peer Code Review Software by coryjamesfisher · · Score: 4, Interesting

    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).

  12. Re:What OSS really needs... by thegarbz · · Score: 3, Insightful

    I actually find the documentation of most projects to be quite good. And honestly it has to be because what the FOSS community really needs is some human interface design lessons.

    Many of the apps are currently spread between the realms of so configurable and customisable that anyone but the smartest of power users can understand how to run the settings, and then on the opposite end of the spectrum with the whole uber user friend unconfigurable touch garbage like Unity.

  13. Re:What do YOU need. by metlin · · Score: 3, Insightful

    I do not know what the question is, but the answer is clearly more pr0n.

  14. Write some documentation by Makali · · Score: 5, Insightful

    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.

  15. Matching contributors to needs by Anonymous+Brave+Guy · · Score: 5, Interesting

    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:

    • different kinds of contribution ("I want to help with programming")
    • technical skills ("I program C++ pretty well, and a bit of Ruby")
    • application domains ("I like graphics-related projects")
    • levels of difficulty ("this is a million-lines project" => it will take a while to get into and might need significant infrastructure installed to work on it)
    • availability ("I can spare an hour or two a week" => probably better to help with small things on smaller, more accessible projects).

    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.
    1. Re:Matching contributors to needs by BruceCage · · Score: 4, Informative

      It already exists: https://openhatch.org/

      I registered a while back but haven't really bother to use it.

      --
      Perfect is the enemy of done.
  16. How about a replacement for Slashdot? by water-and-sewer · · Score: 4, Interesting

    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.
  17. Re:What OSS really needs... by Jane+Q.+Public · · Score: 3, Informative

    "And honestly it has to be because what the FOSS community really needs is some human interface design lessons."

    Hell, Apple needs interface lessons. And Canonical. And...

    It's almost like they have forgotten, or never learned, much of the human interface research of the past 40 years.

    Take Apple just for example, though I don't want to pick on them particularly. When they came out with Lion with an understandable desire to bring their mobile and desktop worlds somewhat more together, they did "mobile" things on the desktop that just didn't make any human interface sense! Like making narrower scrollbars that no longer have any color, and disappear. And sidebars that no longer have color icons; they're all gray. And so on. "Upgrading" to Lion was a huge "WTF?" experience for me.

    All of those "trends" are contrary to what we know about efficient human interfaces. Narrower scrollbars are harder to use. Greyed-out scrollbars are harder to see. And you have to wait for disappearing scrollbars to appear again before you can use them. Minus 3 usability points, for just one interface item. Removing the color from the scrollbars, and other similar things they did, are all definite steps backward in human interface.

    Let's get it straight, folks: the 3D look was not just a fad. There were real reasons for it. Colors are important in efficient eye-hand coordination. Smaller and narrower elements are harder to use. And so on.

    The sad fact is, Microsoft did a lot of, or paid for a lot of, research into many of the human-computer interface elements we use today. (A lot of it came from PARC, too, but Microsoft picked it up.) Then... apparently they threw away 20 years of it for Windows 8. Go figure.

  18. A database filesystem by pr0nbot · · Score: 3, Interesting

    Write a (Linux, BSD) filesystem driver that keeps its file metadata in a database.

    Use queries to construct the filesystem layout. E.g.

    • /bin -> files where executable=true and package=LSB (or whatever)
    • /sbin -> files where executable=true and package_owner=root (or whatever)
    • /usr/local/{name}/ -> files where package={name}
    • /etc/{name}/ -> files where package={name} and type=configuration

    ...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.

  19. OS/2 Clone by martiniturbide · · Score: 3, Interesting

    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.

  20. RTFS by Anonymous Coward · · Score: 5, Interesting

    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.

  21. PostgreSQL todo list by leandrod · · Score: 4, Informative

    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
  22. I think you answered your own question ! by Celarent+Darii · · Score: 4, Insightful

    From the submitter:

    I'd rather hack up something the FL/OSS community actually needs. The problem is — how to figure out what it could be?"

    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.

  23. A database for pick up lines ... by Taco+Cowboy · · Score: 3, Funny

    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 !
    1. Re:A database for pick up lines ... by tehcyder · · Score: 3, Funny

      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

      I've always found "do I have to buy you a drink, or can we cut straight to the sex?" works a treat as a pick up line. In a brothel.

      --
      To have a right to do a thing is not at all the same as to be right in doing it