Slashdot Mirror


Getting Software Added to Unix Distributions?

suso asks: "I've been working on a set of programs called num-utils that I would eventually like to be considered for inclusion in some of the many free Un*x distributions (on the install CDs, etc). So my question is, how does one put their applications on the track to be included in the main distribution of Red Hat, Debian, SuSE, *BSD, and so on? Is this just something that is up to the maintainers or are there submission forms of some kind?"

25 of 267 comments (clear)

  1. Linux is not Unix by Flounder · · Score: 4, Funny

    unless, of course, SCO wins their lawsuit.

    --

    No boom today. Boom tomorrow. There's always a boom tomorrow. - Cmdr. Susan Ivanova

    1. Re:Linux is not Unix by irc.goatse.cx+troll · · Score: 4, Informative

      Un*x is traditional. AT&T can't sue you for trademark infringement if you don't say the whole word.

      *nix is much newer (circa mid-90s, rather than the late 80s Un*x started in) and is actually much less accurate. Un*x refers to Unix(tm), I've heard *nix refer to just about anything POSIX. Why don't more people refer to things by the standards they're actually judging Un*x-a-like systems?

      --
      Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
    2. Re:Linux is not Unix by Anonymous Coward · · Score: 5, Funny
      Did I just notice a recursive acronym here?
      Linux Is Not UniX

      Prepare to be modded down.

  2. Usefulness and Popularity by turgid · · Score: 4, Insightful

    If your programs are genuinely useful and well-written, they will build up a user base over time. Eventually they will become viewed as worth putting in a distribution.

  3. Write a text editor by Anonymous Coward · · Score: 5, Funny

    Write another text editor app, then it will be sure to be included in the distro. Distros dont have enough text editors in them.

  4. Simple by sporty · · Score: 4, Insightful

    1. port it to as many systems as possible, even non-targert systems. possibly AIX, old Digital Unix.. you name it.

    2. get the werd out. If people know about your package, it could solve a problem somewhere that would get it installed.

    3. support it. if you support it, people will keep using it. even if it is initially crappy, you'll get bug fixes and advice.

    4. package it. no one more than me.. 'cept for those that hate it more than me, hate doing custom compiles on a system that doesn't have /usr/ports or emerge.

    Then you live on w/ your life. If your software is good and fulfills a need, you'll see it get put in.

    Then you can go onto 5. Profit. or ????. YMMV

    --

    -
    ping -f 255.255.255.255 # if only

    1. Re:Simple by trikberg · · Score: 4, Funny

      2. get the werd out. If people know about your package, it could solve a problem somewhere that would get it installed.

      Somehow I get a feeling that he has that one covered. :)

      --
      This post is free (as in cheese in a mousetrap).
  5. Make noiseb about it by makapuf · · Score: 5, Insightful

    Not to sound flamebait, but you're quite right in doing it : giving it the maximum visibility (for example by posting a link to it on a popular news discussion site) will make a few people notice it exists.

    Now, the main question is does it do ogg ?

    1. Re:Make noiseb about it by DrWhizBang · · Score: 4, Funny

      Now, the main question is does it do ogg ?

      It doesn't matter about ogg. Once it reads mail, then it is feature complete.

      --
      Schrodinger's cat is either dead or really pissed off...
  6. Feedback forms by Novus · · Score: 4, Informative

    For starters, you could try looking for feedback forms on the distributions' web sites, such as these forms for SuSE. Forms like these are often intended to bring suggestions to the attention of the distribution developers.

  7. Step-wise procedure... by jkrise · · Score: 4, Insightful

    1. Write software.
    2. Take out a coyright in your name.
    3. Apply GPL notices to code.
    4. Publish code via ftp.
    5. Send code to Source Forge and Freshmeat.

    Very difficult?

    -

    --
    If you keep throwing chairs, one day you'll break windows....
  8. Publish first to website. by marcovje · · Score: 5, Interesting


    Two ways:

    How we did it (fpc, a pascal compiler)
    - First the app was published on our site only, and gained momentum and peer review. This stage took several years.
    - for the distributions where ordinary users can submit packages (*BSD ports and Debian) somebody
    will do a port in time. You could do that yourself of course and speed up the process.
    - After a time the commercial ones pick it up if it is really good. You can lobby for that too, but maintainers might also contact you if you have critical mass.
    I found SUSE always the most responsive. RedHat is the only major that doesn't include it, and has been promising it for the next major version since 6.x times.

    About SUSE there is a nice anecdote. I mailed our contact that a new version was out, and got a reply back that the final ISO had already been made. Two days later I got a mail back that they had to update a critical bug, and also updated our package to the newer version (which was a fixes only release btw)

    The second way is to try to submit your packages to the FSF, so not just GPL it, but really get in bed with the FSF
    FSF stuff more readily gets into distro's than third party projects. Of course again, they will only be really interested if your work is phenomenal.

    1. Re:Publish first to website. by BetterThanCaesar · · Score: 4, Funny

      Savannah (the GNU equivalent of Sourceforge) also carries a lot of near-dead projects.

      Savannah, where GNUs go to die...?

      --
      "Stop failing the Turing test!" -- Dilbert
  9. Is your app a virus by any chance? by Anonymous Coward · · Score: 4, Funny

    If so it will add itself eventually.

  10. Simply send it to SCO by Advocadus+Diaboli · · Score: 5, Funny

    They will take care of it and will find evidences that your code is already illegally included in all major distributions, the kernel and the rest of the world. And they will offer a license for using it.

  11. On Perl and command-line utilities by juahonen · · Score: 5, Interesting

    Your mathematical utilities would be more useful if you had programmed them in C. Your choice of language will limit their adoption. Basically because using Perl scripts is not as fast as calling compiled C programs. This fact alone will make people reductant of using your utils in their code.

    Because FreeBSD doesn't ship Perl as standard part of their distribution anymore, it'll be likely that your utils will not get included in any BSD software because it would pull in Perl. It may be a reason for Linux distributions too for not using your num-utils. Debian may be the only distribution which relies on Perl.

    1. Re:On Perl and command-line utilities by __past__ · · Score: 4, Informative
      FreeBSDs decision to move Perl from the base system to the ports tree was because it was easier to handle that way, both for developers and users. It was not about not supporting it anymore. In fact, it is supported quite well, including automatic integration of CPAN packages with the package management utils etc.

      This seems to be easily misunderstood, probably especially by Linux users where no distinction between base system and third-party apps exists (or in a less visible way, at least).

      It did indeed mean that some tools in the base had to be reimplemented, either in C or as shell scripts. Obviously the majority of developers decided that this was less pain than having to keep one version of perl around even when users want a newer one, because you could break their systems otherwise, to have to check various important parts of the systems when you integrate an updated perl etc. The result of all this is that having an up-to-date perl is just one "portinstall perl" away, the system is more stable and modular, and, indeed, that trivial perl utilities like those in the article are unlikely to become base components. Big deal.
  12. Debian by nvainio · · Score: 5, Informative
    If you want your program to be included in Debian, you may package it yourself. Debian New Maintainer's Guide is a good place to start at.

    Or, you could file an RFP (Request For Package). See instructions.

  13. I don't think it's really all that hard... by onomatomania · · Score: 4, Informative

    The people that tend to do packaging are not likely to be influenced by you pestering their Inboxes, or filling out forms, or posting to forums, etc. Instead, ensure that your program meets the following requirements, and you should have no problems.

    - It should fulfill a genuine need. If you're aiming for wide distribution you can't expect to achieve it with a something that's only relevent to a few people or in a few circumstances. You should also have some sort of document that shows how someone would save time or accomplish new things with this tool.

    - It should be small yet robust, minimalistic yet powerful. I don't think anyone would consider adding a tool to a default install that is either too large for the features it offers, or two pedestrian in the type of features that it offers.

    - It should be packaged well. Ideally it should compile and install in the proper locations out-of-the-box on a variety of systems. Make sure that it uses well-known methods, such as autotools (i.e. "./configure --prefix=/usr/local") or some other well-know "make; make install" type of setup.

    - It should be well documented. At the very least you should have full manpages that your install script puts in the right place. Also consider man2html output on a web site, an possibly texinfo for the purists. You can't expect to get away with "just run --help and figure it out" or "look in the README."

    - It should be licensed sanely, and should have reasonable dependencies. No one like a bizarro license, and no one likes a tool that takes sixteen different libraries of particular versions to compile.

    - It looks like you're trying to get these tools standardized so that they could be relied upon for scripting... this will always be very hard to accomplish, but you might look into getting them merged with some popular packages, i.e. 'fileutils'. If there's a particular program that they are well-suited to being used with (like awk or something) then see about getting them added, perhaps in a "contrib" dir, to a project like that.

    Frankly, though, your post was a little worrysome... in the sense that it almost seems like you're trying to get everyone to use these tools because they're there, not for some intrinsic reason. That just won't work, they have to do something really well or make it much easier to do some other task, etc.... You can get the word out and announce to various interested parties, but you will never be able to force anyone to do anything. In other words, view the situation as one of wanting to make the best programs you can, and if they receive universal support that's icing on the cake.

  14. HE's from SCO! by servicepack158 · · Score: 4, Funny

    He's trying to sour the batch! Don't let him near it! :) j/k

  15. Meanwhile for Windows developers... by Flashpoint+X · · Score: 5, Funny

    Thankfully in the Windows world I don't have to concern myself about getting included in "official" distributions... I prefer to distribute my software via self-propagating emails. ;)

  16. How it worked for me .. by stevey · · Score: 5, Informative

    Once upon a time I wanted an MP3 streaming server, none of the ones I looked at did what I wanted. So I did the standard thing and designed my own.

    After releasing my first version to freshmeat I had about five subscribers to the project.

    These subscribers gave me patches, feedback, and encouragement.

    Doing a websearch for the project name I discovered by accident that the the package made it into Gentoo, and similarly Netbsd without any feedback or involvement from myself!

    The next step was my becoming a Debian Developer so that I could upload it there - and not worry about other people doing a bad job without me. (Not a real concern; I had wanted to join Debian for some time anyway).

    Now life is good - I've no idea if it's in RedHat because I've not touched it for years, but SuSE include it the *BSD's and Gentoo cover it, and Debian gets the latest versions all the time.

    Freshmeat lists 120+ subscribers to the project, and it's probably on the verge of becoming an official GNU package sometime soon.

    If you use it and like it buy something nice? </ObPlug>

  17. unique? by battjt · · Score: 5, Insightful
    Your commands are already installed on my system, or aren't needed.
    average
    awk '{sum+=$1}END{print sum/NR}'
    bound
    awk 'NR==1{min=$1}{max=$1>max?$1:max;min=$1 &lt; min?$1:min}END{print min,max}'
    interval
    awk '{print $1-last; last=$1}'
    numgrep ( 500 < x < 1000 or x is a multiple of 3)
    awk '$1 < 1000 && $1>500 || $1%3 == 0 {print $1}'
    numproc
    awk '{print $1 [[your math expression expressed in standard infix notation]]}'
    numsum
    awk '{sum += $1}END{print sum}'
    random
    awk supports rand(), bash has $RANDOM, Linux has /proc/random for a stream of random data. Any range can be chosen using 'numproc', for instance /1..10/ is 'rand() * 10 + 1'
    range
    Why are you ever instantiatin ranges? It wastes space. Ranges should be abstractly manipulated.
    round(floor)
    awk '{print int($1)}'
    round(nearest n)
    awk '{print int($1/n)*n}'
    These commands are easy to use and have a transparency that makes it very clear what the bugs would be, where as num-utils has warnings like

    round will drop off the decimal places in decimal numbers. This may cause some calculations to be in error, depending on how you are using the data.

    that make me wonder what round does if it has problems with decimal numbers.

    Joe
    --
    Joe Batt Solid Design
  18. To be included in Solaris... by Chris_Keene · · Score: 4, Funny

    For Solaris, once your util becomes an essential application used everyday by 99.9% of Solaris users, Sun and your good self can follow this procedure:

    - Use the Solaris package tools to create a package for your program, make the default install directory somethig sensible such as /opt/SUNWats/sun4u/bin/thiswillneverbeinyourPATH/p kg1921u9238/

    - make sure the package requires a few libraries that will take a least a day of pain to install on to any Solaris box.

    - Ensure to include a man page, avoid using words with less 5 syllables, refer to everything as n.

    - now do nothing for roughly six years (more if the program is required for other popular applications).

    - Once that is done, send the package to sunfreeware (because downloading endless packages from the designed-by-satan website is by far the quickest way of installing essential programs via a text based console).

    - It can sometimes only take a few years from this point for Sun to include it on the Solaris CDs!

    - Of course, they will first need to put it through the flag-randomiser to ensure no command line switch is the same as what it is for every other OS in known universe. It will also remove --help and -h, to avoid you having to do this yourself.

    - Just think, by Solaris 27 (aka SunOS 2.9.1) you can see your package installed by default from a Solaris CD!

    cjk
    PS remember, if your program involves text editing, ensure it implicitly uses ed, lord knows what confusion it will course otherwise.

    --
    You will forget this sig before you next see it
  19. Oh My God. by pongo000 · · Score: 4, Insightful

    I'm sorry, but I think we've all just been trolled. I don't believe there's really an attempt to ask a valid question here. This individual has written a couple of perl scripts, and truly believes they will change the world. He hasn't done any research (no mention of CPAN, thinks that FreeBSD does Perl, etc.), and truly believes that a few Perl math routines will change the world. Can you spell "ego trip"?

    But just in case I'm wrong, here's what you do: Point your browser to CPAN. Carefully read the instructions. Submit your scripts. If they're good, they'll get used, you'll make a name for yourself, and will be on the way to The Big Time.

    I really can't believe this made /.