Slashdot Mirror


Moving from Binary Drivers to Open Source?

GerryGilmore asks: "We are a division, specializing in telecommunications equipment, of a very large hardware manufacturer. Our equipment, DSP and PSTN boards, has been supported under Linux through a set of binary driver modules and binary libraries implementing our API set. We are in the process of migrating to a completely open source-based software infrastructure to be more in sync with the rest of the Linux industry. However, not having any real experience with moving from proprietary to an open source model, we wanted to see if the Slashdot crowd has any similar experiences to share: The Good; The Bad; The Ugly; and how best to avoid the most common pitfalls."

186 comments

  1. Re:No experience by charon_1 · · Score: 0, Offtopic

    Wow. That was one of the most useless comments I have ever seen.....

  2. going.. through... withdrawals... *twitch* by peculiarmethod · · Score: 2, Insightful

    need... link... to.. *twitch*.. click.

    HELP!

    I have never made a migration on a scale like this, so I have no horror stories.. but I would like to commend you and all peoples making the move to open source where possible.

    --
    ** "It's not my job to stand between the people talking to me, and the ones listening to me." -- Pego the Jerk
    1. Re:going.. through... withdrawals... *twitch* by Saeed+al-Sahaf · · Score: 1, Funny

      Exactly. How are we going to Slashdot the site without a link? The story author, GerryGilmore, should be SHOT for submitting a story without a link!

      --
      "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
    2. Re:going.. through... withdrawals... *twitch* by eugene+ts+wong · · Score: 1

      I never even noticed that there wasn't a link. I suppose that I sound like the typical slashdotter, but still.

    3. Re:going.. through... withdrawals... *twitch* by scottv67 · · Score: 1

      Gary Gilmore was shot years ago.

      http://crime.about.com/od/history/qt/lstwrds_gilmo re.htm

      Are you proposing that we shoot him again?

    4. Re:going.. through... withdrawals... *twitch* by Anonymous Coward · · Score: 0

      peoples? You mean many different nations, people in many different countries?

  3. Know your code by prestwich · · Score: 5, Informative

    So the really important thing is to really look through your code first - you need to:

    1) Check it is all really your code - you didn't buy any in 5 years ago? If you have a source code control system then actually being able to trace your code is great.
    2) Read the comments - ok, so lots of closed source contains rather dodgy comments that you might not want to be public.
    3) Check that releasing it wouldn't be revealing any information you got under NDA from any of your suppliers/partners.

    1. Re:Know your code by Doc+Ruby · · Score: 2, Insightful

      And of course, stating one point always means denying that point in the comparison, right? It's never possible that both sides being compared have the same flaw, but it's worth mentioning only in the side being considered, right? Comparisons are always 100% competitive - one side is always right, the other is always wrong.

      --

      --
      make install -not war

    2. Re:Know your code by prestwich · · Score: 2, Informative

      Oh - when I was talking about dodgy I didn't mean swearing (I don't care about those); I meant things about for example:
      1) Other employees
      2) Your boss
      3) Your customers

      I've seen some classic example of these.

    3. Re:Know your code by Savage-Rabbit · · Score: 3, Funny

      ...lots of closed source contains rather dodgy comments that you might not want to be public.

      Hehe.. very true. My favorite one:
      "Sane people do things like this?"

      --
      Only to idiots, are orders laws.
      -- Henning von Tresckow
    4. Re:Know your code by bebing · · Score: 5, Funny

      Or things like...

      //WARNING! We do not know what the following code does!
      //But do NOT remove that extra semi-colon whatever you do

      or...

      //TODO: Change from inefficient inept implementation to sane one

    5. Re:Know your code by bullestock · · Score: 3, Funny
      If you have a source code control system...

      What do you mean, "if"?

    6. Re:Know your code by Frank+T.+Lofaro+Jr. · · Score: 2, Funny

      The Linux kernel (and much other open source code) has some "interesting" comments as well.

      --
      Just because it CAN be done, doesn't mean it should!
    7. Re:Know your code by Anonymous Coward · · Score: 0

      Think carefully about binary blobs that are loaded into your hardware by the driver. Consider moving to the infrastructure that is provided in the kernel to keep such blobs as data files external to the kernel.

      This
      a) Avoides concerns that the binary blobs are closed source binarys embedded in open code.
      b) Allowes the blobs to be shared between open and closed source drivers.
      c) Allowes the decision to open soure the microcode development and toolchain to be divorced from the decision to open source the Linux code in the driver.

      Shoka

    8. Re:Know your code by ebyrob · · Score: 1

      Bah, I'd think those would be good to keep around. Otherwise someone might actually flip the magic switch or drop the ball on getting a sane implementation.

      Actually fixing the problems may be more work than its worth, let the community do their job...

    9. Re:Know your code by GerryGilmore · · Score: 1

      This is indeed our current approach and what we will continue.

    10. Re:Know your code by jesser · · Score: 2, Funny
      Some examples from Netscape 4:

      /* Get the OVERFLOW attribute. (Fuck yuo, W3C. Fuck you.) */

      /* Words cannot express how much HPUX SUCKS!

      ** This whole hacky pile of poop was done by Michael Toy.

      --
      The shareholder is always right.
    11. Re:Know your code by bluGill · · Score: 2, Funny

      You missed the implied rest:

      else
      shoot everyone who worked on the code without installing source control

      Sadly many companies do not use source control. CVS is free, and as been around for years not. (Not to mention all the newer systems that fix some of CVS's flaws) Doesn't mean anyone uses them.

  4. codingstyle by pe1rxq · · Score: 4, Interesting

    Read the codingstyle document and look at what others are putting into the kernel!
    The biggest mistake is some idiot using unusual function names, spreading his driver over atleast ten files and using 2 character indents or no indentation at all.
    Especially if your source is ported from windows (or the programmer has only windows experience) make sure you do this right.

    Jeroen

    --
    Secure messaging: http://quickmsg.vreeken.net/
    1. Re:codingstyle by Anonymous Coward · · Score: 0

      Don't insult the indentation style I used for the last ten years!

      Anyway, releasing the possibly crappy code of the already existing Linux drivers is better than releasing nothing.

    2. Re:codingstyle by pe1rxq · · Score: 2, Insightful

      You might be using it, but it makes you look stupid if you want to be taken serious in the linux world.
      The same with your second point. While just dumping crap on the doorstep might make you a few friends you won't get the same kind of welcome as when you release nice clean code and play along with the other kids.

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    3. Re:codingstyle by diegocgteleline.es · · Score: 2, Informative

      Along with the coding style (Documentation/CodingStyle), I'd recommend also reading Documentation/SubmittingDrivers

    4. Re:codingstyle by bheading · · Score: 2, Informative

      There are good arguments in favour of keeping your file sizes down, eg to something like 10K, and splitting your functions over several files. The big one being turnaround time; if you have a multiprocessor machine your parallel builds can compile all the parts in parallel. Also if you make a change to a function in one of the files the compiler only needs to recompile that file and not your entire driver.

      Obviously though there are reasonable constraints to this.

    5. Re:codingstyle by captaineo · · Score: 1

      Ultimately driver code should conform to kernel norms, but the maintainers do seem willing to accept useful driver code even if it doesn't conform perfectly. It's better to have working but less-pretty code than wait forever for it to get reformatted.

    6. Re:codingstyle by PastaLover · · Score: 1

      Just indent with tabs and set tabs to 2 charwidth in your favourite editor. Nobody'll ever notice how you indent. However, authors that indent backwards better hope nobody ever looks at their code.

  5. Open source is more than Linux by Anne+Thwacks · · Score: 5, Interesting
    Remember, once the source is in the open, people can port your stuff to *BSD and WindRiver, VXworks, etc.

    This may be really useful for sales, but it may also lead to a serious amount of bug finding!

    Are you really sure you want your device drivers debugged?

    --
    Sent from my ASR33 using ASCII
    1. Re:Open source is more than Linux by DigiShaman · · Score: 3, Insightful

      And this can a bad thing? I can't imagine it drawing bad PR.

      --
      Life is not for the lazy.
    2. Re:Open source is more than Linux by imkonen · · Score: 2, Interesting
      " Remember, once the source is in the open, people can port your stuff to *BSD and WindRiver, VXworks, etc."

      It makes me wonder why more hardware manufacturers aren't asking this very question, and why anybody making new devices wouldn't open their driver code from the beginning. I mean if you make hardware, and you write software to run it on at least one platform, what is the point in making it hard for people to port the software to another platform? Isn't your profit margin in the sales of the hardware? Do you think you're going to have to drop the price of your hardware just because the software that would normally be included can also be obtained for free? I doubt it. People buying hardware assume software is included, but they're not going to care how much it cost to develop. Even if you're too cheap to hire a programmer for anything but Windows drivers, some cheapskate programmer out there somewhere is going to inherit/buy used from ebay a cheap printer/camera/firewall/whatever and decide it's worth his time to port your software to his platform. If he's kind enough to share it with the world...BOOM...now you have a new customer base for free. If the code is sloppy maybe you do a little cleaning up re-release it, or you don't actually promise to support the other OS.

      The point to keeping the drivers closed I can think of is some fear about your competitors learning trade secrets, but it seems like in most cases, one would expect the breakthroughs to be in the hardware itself and not the code that runs it.

      "This may be really useful for sales, but it may also lead to a serious amount of bug finding! Are you really sure you want your device drivers debugged?"

      As has already been pointed out, why would this be a bad thing? That's usually considered one of open source's selling points. It's not like the bugs weren't there before. It's just that now some of the bug reports might contain useful suggestions rather than a screaming office drone on a deadline pissed that the brand new printer didn't interface with their computers.

    3. Re:Open source is more than Linux by gnarlin · · Score: 1

      Try to tell that to NVIDIA or ATI.

      --
      A bad analogy is like a leaky screwdriver.
    4. Re:Open source is more than Linux by eugene+ts+wong · · Score: 1

      I totally agree. It would be much better for hardware vendors to open their specs and maybe their source code. Maybe they want incompatibilities in the same way that MS wants incompatibilities. :^/ *shrug*

      I can understand why software package vendors want their source code as closed source, but it makes no sense for harware vendors.

    5. Re:Open source is more than Linux by mickyflynn · · Score: 1

      I think he meant it as sarcasm and that sort of got lost somewhere.

    6. Re:Open source is more than Linux by RWerp · · Score: 2, Informative

      NVIDIA explained many times why it does not open-source its drivers. There are NDA issues involved.

      --
      "Long run is a misleading guide to current affairs. In the long run we are all dead." (John Maynard Keynes)
    7. Re:Open source is more than Linux by ebyrob · · Score: 1

      ...One would expect the breakthroughs to be in the hardware itself...

      Well, that certainly wasn't true for winmodems. Often very cheap hardware is just a proxy for the software that runs it... Now, as the hardwaare gets more complex and capable, then what you say becomes more true.

    8. Re:Open source is more than Linux by GerryGilmore · · Score: 1

      God, YES!! :-)

    9. Re:Open source is more than Linux by Anonymous Coward · · Score: 0

      yeah, it got lost in the mods crack pipes

    10. Re:Open source is more than Linux by psycobrat · · Score: 0

      do not forget umax who now CHARGES for thier drivers if you want anything other than the default win98 shipped CD or if you need to replace that CD for any reson (ebay/inherit/upgrade os from 98se to XP)

  6. Place to Ask by norm_z · · Score: 2, Informative

    You could find more information at LKML. The archives are here, http://marc.theaimsgroup.com/?l=linux-kernel.

    Many vendors have been moving from proprietary to open source. You can join LKML at http://www.kernel.org/.

  7. Re:No experience by micsmith · · Score: 0

    Just another instance of a trend of insensible moderations that I've been seeing lately here on Dashslot

  8. Avoid closed source coding conventions by JamesP · · Score: 3, Funny

    The worse thing i've seen in a (Windows) driver.

    for (i=0;i10;i++) {
    switch(i) {
    case 1: // stage 1 // stuff here
    case 2: // stage 2 // stuff here
    case 3: // stage 3
    }
    } // lameness filter mary had a little lab, blah, bla, 1 3 5 7 11 13 17 19 23 29 31

    --
    how long until /. fixes commenting on Chrome?
    1. Re:Avoid closed source coding conventions by corsec67 · · Score: 1

      hmm, if there aren't any break; statments in there, that is actually quite interesting.

      but, any section of a program that would use that without any breaks in there would probably be just about impossible to understand anyways.

      --
      If I have nothing to hide, don't search me
    2. Re:Avoid closed source coding conventions by tdelaney · · Score: 1

      Looks like Duff's device to me ... (BTW - < ...).

    3. Re:Avoid closed source coding conventions by stevey · · Score: 1

      If you find that interesting you'll love seeing Duff's Device - a useful form of the switch statement with no breaks.

      (Used for loop unrolling).

    4. Re:Avoid closed source coding conventions by FooAtWFU · · Score: 1

      No. If it were Duff's device, the switch statement would be outside of the loop, you'd have j = i / 8; and switch(i % 8) (for sufficient values of '8').

      --
      The World Wide Web is dying. Soon, we shall have only the Internet.
    5. Re:Avoid closed source coding conventions by Mac+Mini+Enthusiast · · Score: 1

      With the way my brain works, the one thing that stands out most in that code segment is that you wrote 1 instead of 2 in your list of primes.

      --
      Free Mac Mini with Equal Opportunity
      Email me or follow the homepage link
    6. Re:Avoid closed source coding conventions by WindBourne · · Score: 1

      Yeah, but it was probably the most stable windows driver that has ever been created.

      --
      I prefer the "u" in honour as it seems to be missing these days.
    7. Re:Avoid closed source coding conventions by woah · · Score: 0

      I once seen this sort of thing done in VB. The horror!! The horror!! Do people not care about the sanity of programmers?

    8. Re:Avoid closed source coding conventions by Anonymous Coward · · Score: 0

      I was thinking the same thing

    9. Re:Avoid closed source coding conventions by tdelaney · · Score: 1

      True. OK - looks like an *attempt* at Duff's device ;)

  9. Make it completely open... by tony3w · · Score: 5, Insightful
    Release Everything
    Make sure that you release all documentation and tools (preferably with source) for the hardware and the drivers. The last thing a "free" developer wants to do is re-invent all of the wheels that your company created.

    Provide Good Documentation
    If you provide well organized and complete documentation to a quality product, developers will most likely flock to it.

    Support the Developers
    You will want to have staff on hand to answer questions about the technical details of the product. Create a forum that is monitored by the engineers who designed and create code for the product. Make sure that questions are answered thoroughly and quickly.

    1. Re:Make it completely open... by Thunderbear · · Score: 1

      I agree on this. If you want other people to work on your project it is very important that it is easy to get the edit-compile-debug cycle up and running. If there is any dependence on other tools, make it simple to get it running (link to RPM's etc).

      This includes easy access to source (CVS or a tarball/zipfile), easy access to the build environment (Linux/Windows), as well as a good license. If you choose an inappropriate license, people will avoid your product.

      You should also tender to the feedback. It is crucial that casual bypassers get the impression that _you_ care about the project - this means feedback on bugreports, regular releases of new versions, proper documentation, etc. You should strongly consider getting good infrastructure, by putting your project on a suitable server, like sourceforge or savanna (depending on your license).

      The eclipse project is probably the best example of a well-tendered user community - people take the time to report bugs and inconveniences because there is a quick response and the Bugzilla system allows the users to keep up with entries which may have a process period of months or years. They know that good suggestions get in the code quickly and they may get that code very quickly due to the aggressive release schema of new code.

      In my point of view, you usually either release as open source to ensure that a project outlives some external entity or to get user involvement. In the latter case it is important to consider users as collaborators on a common project, and act accordingly.

      --

      --
      Thorbjørn Ravn Andersen "...and...Tubular Bells!"
  10. Re:Since they won't accept my submission by Anonymous Coward · · Score: 0

    Um, you do realize that that story has now been posted twice?

  11. Code by rbreve · · Score: 4, Funny

    be sure you dont have any SCO code in there ;)

    1. Re:Code by Rodrin · · Score: 1

      Seeing as that SCO will claim anything as being their own code, this could seem rather difficult. I think the only way around this is to code your entire driver out of the typical hello world. Oh shit, SCO owns that too.

    2. Re:Code by fyngyrz · · Score: 1
      be sure you dont have any SCO code in there

      No, it goes like this:

      1. Be sure there is no SCO code in your drivers
      2. Be sure there is no code SCO can possibly even mistake as being theirs
      3. Prepare legal staff and funding for inevitable and relentless SCO attack
      4. Endure years of courtroom entropy
      5. Re-elect your litigation-favoring politicians/legislators
      6. goto 1
      --
      I've fallen off your lawn, and I can't get up.
  12. Don't jump into this. by Anonymous Coward · · Score: 5, Insightful

    Sort through the code. Take out everything you do not want shown.. comments and the like.

    Sweep through the code to make it/make sure it is readable. This will attract more developers to your project.

    Open a project. Still release the binary drivers, just let people get into the code and start making the fixes for the bugs they find. Once it's sufficiently linux-ized by members of the linux community, switch them to your main drivers instead of your binary drivers.

    Your binary drivers work right now (I assume), so leave them as your defaults, until the open source community can go in, change, break, fix and test out your open source drivers with you.

    And thanks for your future contributions to the comunity. Please post a follow up when they do go open source. This will generate more interest in your products, and I, and many other admins who are part the decision making process of picking hardware for their companies, will definately give your products another look if they have open source, stable drivers (Like 3Ware....they rock. Because of thier long time commitment to linux, they are the only hardware raid cards I buy for my linux servers).

    1. Re:Don't jump into this. by deKernel · · Score: 1

      Excellent suggestions. The continuation of binary releases until the community is ready is a good idea. Nice touch.

    2. Re:Don't jump into this. by GerryGilmore · · Score: 1

      Actually, our plan is to continue to ship a binary release, but the source will be available through the normal open source mechanisms. Any changes that get submitted and pass the usual engineering muster *and* make sense will get incorporated into the code base. Yes, I will follow up and hopefully it will be a big success for all of us.

  13. Re:No experience by Evangelion · · Score: 1

    Wow. That was one of the most useless comments I have ever seen........

  14. Why aren't more hardware concerns doing this? by thrashbluegrass · · Score: 5, Insightful

    Although I understand that NDAs can be involved, it often amazes me that hardware manufacturers keep to closed driver implementations.

    While it's true that windows and linux are the biggest games in town, offering potential customers who run other OSes a way to use your hardware seems like a no-brainer: larger potential customer base -> more customers -> more profits.

    It often seems like pulling teeth; take a look at the recent (and ongoing) attempt OpenBSD is making to get more documentation and relaxed licenses for hardware. Being able to point to $1 million of hardware already running under an OS and getting little or no response from a vendor for better support -> larger customer base -> greater profits? WTF is wrong with the PHBs?

    And now, back to the topic:

    Document, document, document. Although I don't have any directly relevant experience, I've occasionally taken over 5000+ lines of code with abysmal documentation; on one occasion, it became so painful I rewrote major portions because it ended up taking less time than having to figure out what was going on.

    1. Re:Why aren't more hardware concerns doing this? by Antique+Geekmeister · · Score: 2, Insightful

      Bless you for doing this. And if your tools are built on top of someone else's tools, such as hardware driver patches on top of someone else's work in the kernel source trees, pretty please eliminate silly white space differences between your code and the author's code, generate clean diffs, and apply those on top of the original source. Then publish, to ease reading of the actual diffs.

      If you require software to accompany the kernel modules such as the way PCMCIA drivers are integrated with the PCMCIA management and detection software, make sure you synchronize the additional software with your kernel modules. Then publish them together. This will help people from trying to stuff your kernel changes in with a software package it doesn't work with, and vice versa.

    2. Re:Why aren't more hardware concerns doing this? by Jetson · · Score: 4, Insightful
      Although I understand that NDAs can be involved, it often amazes me that hardware manufacturers keep to closed driver implementations.

      In a lot of cases the hardware is pretty simple and the functionality that differentiates their product is all located in the driver. Think "WinModem". Releasing the driver as open source can take a way a competetive advantage in that case.

    3. Re:Why aren't more hardware concerns doing this? by DaHat · · Score: 1

      I don't think you fully understand the paranoia of manufacturers.

      Opening up their drivers would enable other software to be written for their device, but it would also open up their designs to competitors, not something they like to do.

      I don't want to name names, but for this story, the company will be known as... Widecom.

      I have spent some time working with some products from Widecom in past and have learned much about their seeming paranoia. We have a couple of proprietary datasheets on a couple of parts, the first sheet lays out most of the functionality of each register, what values do what, dang near anything you want to do with it. Of course, the part this sheet describes has been obsoleted and replaced by a new one (sheet and chip)... whose datasheet is 1/8th the size of the original. Most of the functionality of the first part works in the second one... of course Widecom doesn't like to tell unless you spend a fair amount of time begging or trying it for yourself.

      Add to that the fact that we are contractually limited to the # of copies of the datasheets we can have (each one is stamped "CONFIDENTIAL *our company name*" in case it gets out.

      For good reason, Widecom doesn't want its competitors to know the ins and outs of it's chips, and make it very difficult for them to learn such things.

    4. Re:Why aren't more hardware concerns doing this? by thrashbluegrass · · Score: 2, Insightful

      I understand THAT they're paranoid; I don't understand WHY they're paranoid.

      The whole "if we release the specs, it can be reverse engineered" is so shallow as to be laughable; if a competitor truly wanted to reverse engineer your product, they'd do so with or without your published specs, by disassembling a) the hardware, or b) the driver you provide (this all reminds me of the "hackers only know how to break windows because we release security advisories" bs that comes out of redmond from time to time). Making sure this sort of thing gets handled correctly is what you let lawyers out of their holding pens for.

      Once the hardware's out of your hands, you HAVE TO operate under the assumption that it's going to be taken apart and put back together by interested parties. Frankly, this is PHB bs that has no real place in technology.

    5. Re:Why aren't more hardware concerns doing this? by DaHat · · Score: 0, Redundant

      It's not "if we release the specs, it can be reverse engineered", it's "if we release the specs, it'll be much easier for it to be reverse engineered".

      Simpler example: I lock all of my doors and windows when I am away, heck, I even have a security camera running in my livingroom... but that of course is not going to stop someone who wants to break into my house, which has happened. (http://www.brendangrant.com/breakin/index.html) Just because it has happened and it can happen doesn't mean I should just throw open the windows and doors.

      The reason for not releasing such things, whether it be register values, pin-outs, passwords and what not is because you do not want to make it easy on those who you do not want having access to your secrets.

      If you disagree, that's fine, but in doing so please, save me the time and give me your bank account #'s, passwords and a copy of your signature... not to mention all of your secrets that a determined person could probably dig up on you.

    6. Re:Why aren't more hardware concerns doing this? by gnarlin · · Score: 1

      No, It would simply make the competition fiercer since the difference between products would essecially become the basics, ie. price, features, support etc.
      I think that is a "good thing".

      --
      A bad analogy is like a leaky screwdriver.
    7. Re:Why aren't more hardware concerns doing this? by Jetson · · Score: 1
      No, It would simply make the competition fiercer since the difference between products would essecially become the basics, ie. price, features, support etc. I think that is a "good thing".

      My point was that it's currently possible for different vendors to use the same hardware as each other and try to create better software to capture market share. If all drivers were open source then this wouldn't be possible as your competition would download your patches minutes after you uploaded them and then they would have the same suite of tools. Open source drivers requires hardware innovation to maintain market share. Hardware innovation is slower and more expensive than software innovation. As a result, prices go up and product improvements take place on a longer cycle. Vendors with closed-source drivers have an incentive to stay that way so that they can keep their feature list ahead of the competition.

      From a manufacturer's perspective, releasing open-source drivers is a great way to kill VAR interest in your product, since the only place a VAR can add value is in the software or in support, and most people won't pay extra for support.

    8. Re:Why aren't more hardware concerns doing this? by thrashbluegrass · · Score: 1

      You're arguing by analogy, and a poor analogy at that. Nobody (okay, maybe a few weirdos, but your normal criminal doesn't count) breaks into your house in order to figure out how to make their own.

      And how long does it take for a team to reverse engineer a piece of hardware? And does it really matter? You can't put the genie back into the bottle. In the end, all you end up doing is make it harder (in some cases, impossible) for people who want to legitimately use your hardware while putting almost nothing in the way of those who want to illegitimately use it.

      Again, this is what you breed lawyers for. If someone steals your design and begins pressing out their own, you sue the ever-loving shit out of them.

    9. Re:Why aren't more hardware concerns doing this? by DaHat · · Score: 1

      I use the breakin analogy not regarding building ones own, but finding out info and possibly stealing something valuable whether it be a watch, tv or circuit design.

      The fact is that by making it as difficult as possible for illegitimate users to get in, but making it possible (within reason) for legitimate ones, you safeguard your secrets for that much longer.

      Hell, that's exactly what encryption is about. Given sufficient computing power, you can break through just about all ciphers, and because it's so very hard to do it, it severely limits the # of people who do it. Yes, encryption can be tricky to use, but once you figure it all out it's easy to use, just hard to break.

      It's safe to say that you'll just sue their pants off after they steal your designs... but that doesn't mean that you'll know it, hell, who says they have to rip off your entire design? They could easily just take smaller design portions.

      But then I was never talking about the entire design, I was speaking only of features and functionality... not something I am going to go any further into as you have repeatedly missed my points, and with that, I am done with this conversation.

    10. Re:Why aren't more hardware concerns doing this? by ebyrob · · Score: 1

      I follow you till that last bit:

      releasing open-source drivers is a great way to kill VAR interest in your product, since the only place a VAR can add value is in the software or in support, and most people won't pay extra for support.

      Speaking as a developer working for a company that does some work as a VAR, why the heck would we care whether we're building our value added components on top of open source or proprietary drivers? Perhaps if the drivers were completely GPL'ed we'd have to be a little careful making sure either a) we get a different license or b) "bundling" couldn't be claimed, but that's the only speedbump I can think of.

      Am I missing something or is it entirely possible to sell server's pre-configured with proprietary software packages on a GNU/Linux operating system?

    11. Re:Why aren't more hardware concerns doing this? by Short+Circuit · · Score: 1

      Although I don't have any directly relevant experience, I've occasionally taken over 5000+ lines of code with abysmal documentation; on one occasion, it became so painful I rewrote major portions because it ended up taking less time than having to figure out what was going on.

      You think you've got it bad? I left one of my projects, a D&D city generator, derilict for a few months, only to come back to it months later (er...a couple weeks ago) and not understand half the output formatting code. So I rewrote about 300 lines of code. (Now takes up about 160 lines...but that's just 'cause I'm a better Perl coder than I was.)

      At least I learned my lesson. :)

    12. Re:Why aren't more hardware concerns doing this? by GreyWolf3000 · · Score: 1

      In that situation, it seems like your only competitive advantage is your cost--which is entirely a hardware issue. The drivers are almost a value-add--even if they accomplish what hardware traditionally does, they're not doing anything new or spectacular.

      --
      Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
    13. Re:Why aren't more hardware concerns doing this? by Anonymous Coward · · Score: 0

      Releasing the driver as open source can take a way a competetive advantage in that case.

      Only one winmodem can have the best drivers. Why don't all the others release as open-source? They can't all think that they have a competitive advantage over the others.

    14. Re:Why aren't more hardware concerns doing this? by Jetson · · Score: 1
      ...is it entirely possible to sell server's pre-configured with proprietary software packages on a GNU/Linux operating system?

      Of course it is. You can include both proprietary drivers and proprietary applications on a delivered Linux box. The only restriction is that you can't use GPL'd software as the basis for the proprietary code.

      My point about VARs is that the profit margin when selling generic hardware with open-source drivers will be very low compared to the profit margin when selling advanced hardware with proprietary drivers simply because you lose your leverage when the same product is available across the street selling at or near cost. This is fine when the product in question is already a commodity, but a significant loss of profit when a product is new enough and exclusive enough to appeal to the early adopters.

  15. Patience by Z00L00K · · Score: 4, Informative
    is necessary. It may be a good idea to first check that the code you have works with the latest versions of the Linux kernels, 2.6 firsthand and possibly 2.4. If there are too much problems supporting both, go for 2.6 and try to avoid pitfalls regarding deprecated functions. (use udev instead of devfs for example)

    Include reasonable amount of documentation, like a README and an INSTALL file. Keep both short.

    Try to use autoconf scripts, since that may help in the long run when people tries to build it on all kinds of strange platforms. Be clear of which platforms that are supported, and which are not. Be also clear of platforms known not to work.

    Set up a bug report tool. Bugzilla is a well-known tool. Bugs will be reported, and you may also get fix feedbacks that way.

    A clear versioning strategy is also necessary. Avoid a multitude of branches if possible. The preferred way is to have a public read-only CVS archive. (you can use cvsup to create a mirror of the real archive in case you have a security breach on the public server.)

    Have a reasonable licensing for your software, it will pay off in the end. You may want to take a look at MySQL. Try to be flexible and not too complicated.

    This seems to be what I could come up with on a short notice.

    And GOOD LUCK!

    --
    If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
  16. In answer to your sig... by thrashbluegrass · · Score: 0, Troll

    1) fdisk
    2) format
    3) full installation

    Now that I think about it, that's how you fix any software problems on a windows box.

    1. Re:In answer to your sig... by corsec67 · · Score: 1

      you forgot moving stuff from documents and settings to a backup drive, and saving settings that programs have in the repository.

      that would work in linux too, but you can have /home be a seperate partition, and install red hat and be up and running with all of your data after just copying stuff off the red hat disc.

      Aside from that, you are correct, though.

      --
      If I have nothing to hide, don't search me
    2. Re:In answer to your sig... by thrashbluegrass · · Score: 1

      you forgot moving stuff from documents and settings to a backup drive

      You assume I care about my users. I am BOFH, hear me roar :p

    3. Re:In answer to your sig... by tepples · · Score: 1

      you forgot moving stuff from documents and settings to a backup drive

      You forgot mounting D&S remotely, analogously to an NFS home directory.

      and saving settings that programs have in the repository.

      Assuming that by "repository" you mean "registry", I have two words: Group Policy.

  17. *cough* by Geekboy(Wizard) · · Score: 4, Informative

    OpenBSD is striving to open up all drivers, and refuses to allow binary modules. Currently, they are targeting Adaptec, trying to get the management interface opened up. We don't want them to write code for us, or to support it, we just want docs, so *we* can write the code, and support it.

    http://undeadly.org/cgi?action=article&sid=2005031 8231311&mode=expanded

    1. Re:*cough* by Anonymous Coward · · Score: 0
      are targeting Adaptec


      Honestly, I think OpenBSD is friggin awesome, but it's this kind of vernacular that makes me hope the Adaptec guys tell Theo in no uncertain terms to get bent. With a niche player like OpenBSD it's actually easier for users to float over to Linux if the hardware compatiblity is there.

      I just think it'd be funny to watch someone on the OpenBSD crew lose it and blow a stroke ala "Scanners"..

      Their self-righteous jihad-like horeshit gets on my nerves.
  18. Get marketing involved by Anonymous Coward · · Score: 4, Insightful

    It's great you're doing this. Make sure that people (i.e. potential customers) hear about it. Given a choice between two comparable products, if I know one of them supports the free software community, I'll choose them. I know I'm not alone. You're not only going to benefit (eventually, don't expect instant gratification) from code feedback, your sales will tick up, assuming you market yourselves well. Try to measure it, and then show the evidence to your company's other divisions.

  19. Re:If it is not broken... by kiore · · Score: 4, Informative

    Because hardware has a bad tendancy to hang around long after the vendors lose interest in it?

    By making the drivers open source & letting the OS supplier recompile them for new releases they lessen the future load on their support desk from people complaining that their Linux 2.8 binary drivers won't work in Linux 4.2

  20. From the bleachers by nuntius · · Score: 4, Insightful

    As an observor on the sidelines, here's a few points that sometimes cause issues.

    - Expect a rough transition.
    Releasing your app to the community is like hiring a bunch of new developers but not giving them any management. If they like what you have, they will work with it; if they don't, they might re-implement things or openly disagree with your existing design. Get as much relevant information online as possible so others can make informed design decisions.

    - Provide direction, but be flexible.
    One benefit of OSS is that others can suggest fixes that may directly contradict your current view of the problem. By carefully accepting some of these changes, your software will become better.

    - Don't expect the OSS community to do all the work.
    Several major bloopers have come from companies saying, "fine; we're open-sourcing it; let them do the work". This is the road to stagnation. The community will support things that are useful to them; don't assume that your alpha-OSS release will generate immediate support. A small OSS community is excellent for porting existing software to new systems; they are generally slow for actual development work.

    - Keep providing support.
    During the initial transition, you will probably have more work than normal as people flock to your project asking questions. Then only those who like what they see will stay. At a minimum, your company should host an email list and an anonymous CVS or Subversion server.

    - Advertise the transition to your users.
    Make sure your customers understand that they can now customize things in-house. Make OSS a "value-added" feature. Encourage them to return their improvements back to the community.

    - Make a good testing framework available.
    Most of your end-users will only have access to the hardware they actually use. Your current Q/A process probably tests against a range of hardware. As such, you own a range of test machines. Network these to a test framework that can validate community changes as they are submitted. Maintain a "stable", in-house tested branch and an "unstable", bleeding-edge branch.

    1. Re:From the bleachers by marafa · · Score: 1

      http://gforge.org/ - based on an OSS sourceforge version. this should cover the cvs, documentation, etc needs for any project.
      its also getting to be quite popular eg rubyforge, http://alioth.debian.org/ etc.

      --
      _ In Egypt Networks: Network Solutions with a Twist
  21. Re:No experience by Anonymous Coward · · Score: 0

    I couldn't agree more. micsmith for president!

  22. Look for in-house advice too by CedgeS · · Score: 4, Insightful
    You probably already know it, but here are a couple of other collections of open-source projects in your parent company. They can probably provide advice about such topics as which person in your legal departments has expertise and advice on the subject and other institution specific headaches and shortcuts.

    http://www.intel.com/software/products/opensource/

    http://www.intel.com/cd/ids/developer/asmo-na/eng/ 52779.htm

  23. documentation! by Anonymous Coward · · Score: 0

    Be sure you have good documentation. Especially for all "gotchas" like timing-sensitive spots.

    In fact I'd say the documentation is more important than the code itself! You can just create a web site with the documentation, and start collecting the code that other people write, and let your programmers basically do QA on it.

    But anyway this is great, and I hope you plug the name of your company here somewhere so those of us in the right industry can recommend the products!

  24. Work with the community by hellgate · · Score: 5, Informative

    I am the maintainer of a driver in mainline Linux. An competing driver is offered by the actual hardware vendor (also Open Source). While working with their engineers has been quite pleasant, we have never been able to agree to work on the same driver.

    So the people who know the hardware best are paid to work on a driver that few people use. Meanwhile, the driver in mainline keeps up with the frequent changes of in-kernel APIs but lacks the resources to make use of all the features the hardware offers.

    A few companies (e.g. Intel with their eepro) seem to get it right: Have someone work with the community to write and maintain a driver in mainline. You are still largely in control as long as you are competent, and you are pushing the code people actually use.

    1. Re:Work with the community by Anonymous Coward · · Score: 0

      Lots of good stuff already posted but I still have one more thing that I haven't seen (but someone probably has posted it already) which is on the same topic as parent post:

      Don't write a driver with alot of wrappers!

      It'll never get included in mainline and the community will probably fork and rewrite a "clean" driver. Effectively you wont get any help from the community. //fatal

  25. do not use HAL by Anonymous Coward · · Score: 0

    Take a look at:

    http://article.gmane.org/gmane.linux.network/232 28

    lkml people refused their drivers because they used HAL. Avoid it if you want respect.

    1. Re:do not use HAL by bheading · · Score: 1

      Your driver doesn't necessarily have to go into the kernel tree to be a useful open source driver release.

  26. popular kids are jumping off bridges? by r00t · · Score: 1
    Don't assume that those choices are good just because they are popular.

    The autoconf scripts are a mess. They run slow. They take up 200 to 300 kB compressed. They test for various basic POSIX features that exist already on every OS you'd ever care to support. They add several extra layers of complexity.

    Better way: good old #ifdef and such. It works.

    Bugzilla is an isolation tool. (see the recent trouble with GNOME developers ignoring bug reports) At the very least, you must enable voting. You also face the problem of stale bugs. Try just using a public mailing list, as the Linux kernel developers do. The system used by Debian isn't all that bad, though stale bugs still collect.

    CVS leads to political problems. Commit access becomes a status symbol. Sooner or later, you will find a need to revoke commit ability for a developer, leading to all sorts of trouble. Consider using a peer-to-peer system like BitKeeper instead.

    Note that the LGPL can be used for non-library code. The LGPL and Mozilla licences offer GPL-like protection for your code (others must supply their modifications as source) while not affecting code that merely links to your code.

    And yes, patience is needed if you expect major contributions. Mozilla is based on Netscape code that was opened up. Mozilla looked like a failure for several years. It took time for a developer community to grow, and time for the code to get cleaned up. Bug fixes and ports will show up soon though.

    1. Re:popular kids are jumping off bridges? by Antique+Geekmeister · · Score: 1

      For an example of this approach, go look at the old software for HylaFAX. The "configure" script for that was written by hand by Sam Leffler, one of the original authors of BSD and the creator of TIFF. Now try writing that thing by hand, yourself, for every single software author. They will break things, they will write incompatible tools, and maintaining them will be nightmarish. Using autoconf is like using standard size screw holes: it's not the optimum for every job, but it's necessary to allow using standard tools and replacements, or you'll waste all your repair or development time hand-crafting tools.

    2. Re:popular kids are jumping off bridges? by Dwonis · · Score: 1
      The autoconf scripts are a mess. They run slow. They take up 200 to 300 kB compressed. They test for various basic POSIX features that exist already on every OS you'd ever care to support. They add several extra layers of complexity.

      autoconf checks for whatever you tell it to check for. If you don't want to check for sys/socket.h, don't tell it to.

  27. Why? by Anonymous Coward · · Score: 0

    I'm not familiar with your market but it sounds like you won't have a huge developer community to support you.

    On the other hand, I used to work at a place where we got a lot of equipment with serial numbers like 1 and 2. We spent a major amount of time getting stuff to work basically because we had no choice. In that light, I suspect that you should be talking to your customers; not us.

  28. Re:No experience by Anonymous Coward · · Score: 0

    Redundant?? That's not redundant. It was a dupe! Hey...if you guys can do it, why can't we?

  29. Re:And more importantly... by dstech · · Score: 1

    "That is what should be on the front page of Slashdot, not this stuff about drivers that I don't understand."

    You, sir, are an idiot. (see /. slogan for more details)

  30. Re:If it is not broken... by baafie · · Score: 1
    If it is not broken...

    ... do you know for sure it won't break in the future? Binary-only drivers are notorious for breaking in every kernel release (just look at nvidia's proprietary display driver).

    In addition, to that, there are various other reasons for open sourcing drivers, (probably) the most important benefit being community-based maintenance and porting of the drivers.

  31. Definitely release everything by Anonymous Coward · · Score: 0

    Definitely release everything. But supporting the open source developers? That could be difficult/impractical .. I would go with a style similar to how linux develpoment is done .. accept patches that are good. Of course supporting the open source developers would be good in the ideal world, but it will be a tough sell to management. So probablyh the most sellable approach is to develop the software like any other project, except that the code is open source .. if others have contributions and improvements accept them. Oh yeah, and make sure it's released as GPL. So competitors can't use your ideas without themselves having to contribute their own improvements back.

    Usually if your specialty is hardware, the driver won't give away a whole lot of hardware trade secrets anyway. Although most hardware ideas are better protected via patents that keeping it secret (others can come up with similar ideas independently). That said, I am against patents so don't flame me.

  32. OT - mozilla is NOT based on old netscape code by cookie_cutter · · Score: 1
    Mozilla is based on Netscape code that was opened up ... It took time ... for the code to get cleaned up.

    Actually, it took a short amount of time for the mozilla project developers to abandon the netscape codebase and start over on developing mozilla from scratch(though I'm not sure if no netscape code made it into the new mozilla code or not).

    It then took a fair amount of time for the project to then reimplement most of netscape and create the firefox which I'm typing into right now.

  33. Thigs to do by Sycraft-fu · · Score: 4, Insightful

    1) As others noted, do a full code audit and make sure there's no proprietary code in there at all. When in doubt, take it out. You don't want a lawsuit on your hands. Make sure you have the rights to distribute all of your source.

    2) Clean up your code. If the comments are incomplete, complete them, if there's something that's obfuscated for no good reason, unobfuscate it, etc. Remember that for it to be useful someone who's never seen it, and doesn't know how your stuff works. While doing that clean up any bad language in the comments and code.

    3) Make sure your code builds completely to a final useful state on standard compilers (GCC on Linux, VisualStudio on Windows). If there's any special options that need to be set, document them. Don't release something that won't compile without tweaking, it should be ready to go.

    4) Don't neglect binary versions. Keep them at least as current as the source versions, if not more so. Many (most?) people don't like fucking around with compiling their own stuff. It takes time, and the compiler is scary to non-programmers. Have an easy to install binary version as you did before. Goes double for Windows.

    5) Do it for the right reasons, that being to get feedback from the world at large and to help out. Don't do it expecting the OSS community to pick up your slack and develop your drivers for you. You might get lucky and find that some extremely talented individuals do just that, but more than likely if you open them up and ignore them, they'll become crap.

    6) If you take community contributed drivers that you have nothing to do with (like ports to an unsupported OS), make sure you make it clear on your site that they are different. Have a clear demarcation between drivers you created and supported (with or without community help) and drivers someone else did, but you didn't make and can't support.

    In general I think it can work to your advantage, but only if you treat the OSS community as an additonal asset, not as your core development. Maintain the same team you have now, same standards for testing and quality (I'm assuming they are good here) and so on. Take any useful contributions the OSS community provides, but don't rely on them to start doing your job for you.

    1. Re:Thigs to do by entrigant · · Score: 0, Troll

      While doing that clean up any bad language in the comments and code.

      *cough*

      gr1m linux # grep -ri fuck *
      Documentation/DocBook/kernel-locking.sgml: If you don't see why, please stay the fuck away from my code.
      arch/mips/pci/pci-ip27.c: * IOC3 is fucked fucked beyond believe ... Don't even give the
      arch/mips/kernel/irixioctl.c: * irixioctl.c: A fucking mess...
      arch/mips/kernel/irixelf.c:#if 0 /* XXX No fucking way dude... */
      arch/sparc/kernel/ptrace.c:/* Fuck me gently with a chainsaw... */
      arch/sparc/kernel/head.S: /* XXX Fucking Cypress... */
      arch/sparc64/kernel/traps.c: /* Why the fuck did they have to change this? */
      drivers/ide/pci/cmd640.c: * These chips are basically fucked by design, and getting this driver
      drivers/net/sunhme.c:/* Only Sun can take such nice parts and fuck up the programming interface
      include/linux/netfilter_ipv4/ipt_limit. h: /* Ugly, ugly fucker. */
      lib/vsprintf.c: * Wirzenius wrote this portably, Torvalds fucked it up :-)

      etc. etc. etc.

      Go away language police... they are just words.

  34. Indentation? I think not. by CarpetShark · · Score: 1

    Something tells me that what these guys want to do will involve bigger issues than number of spaces to a tab. Especially given the existence of the indent program. But hopefully there won't be any huge barriers, nonetheless. To Gerry Gilmore: what you want to do is good on many levels -- good for Linux, good for society, and quite certain to be good for your company too. You have my thanks, and my best wishes with it :)

  35. Support Zaptel by mamladm · · Score: 1, Redundant

    You may want to check out the open Zaptel interface driver suite. [Google for Zapata Telephony]

    It was originally developed by Jim Dixon for his Tormenta T1 card (open source GPLed hardware BTW) but has since been used with open source telephony projects such as Asterisk.

    Asterisk is an interesting example to study in respect of open versus closed telephony drivers.

    Some vendors have closed driver support for Asterisk, eg. Intel/Dialogic which means their drivers can only be sold through a non-GPL Asterisk License. This however means that they rely on sales through Digium, who hold rights in Asterisk. The irony is that Digium are also a telephony interface card vendor and thus a competitor.

    Voicetronix have open source driver support for Asterisk through their own GPLed drivers. Yet, the action on open source drivers is with Zaptel and so Voicetronix have to do the work on their open source drivers all by themselves and their drivers lack features that Zaptel drivers have.

    Sangoma Technologies support Zaptel in addition to their own drivers. To Asterisk and other telephony packages using Zaptel, a Sangoma device is just another Zaptel device. A significant benefit for end users, open source projects and the vendor.

    Zaptel is now supported on Linux (x86 and PPC) and BSD. In addition, work is under way for Zaptel on Solaris and MacOS X.

    --
    the macintosh asterisk mailing list http://www.astm
    1. Re:Support Zaptel by Andy+Dodd · · Score: 3, Insightful

      "Some vendors have closed driver support for Asterisk, eg. Intel/Dialogic which means their drivers can only be sold through a non-GPL Asterisk License. This however means that they rely on sales through Digium, who hold rights in Asterisk. The irony is that Digium are also a telephony interface card vendor and thus a competitor."

      I wouldn't be surprised if this is one of Gerry's motivations for switching to open-source. Do a bit of Google searching, examples are:
      http://lists.digium.com/pipermail/asterisk-d ev/200 4-July/005203.html

      Gerry works for Intel/Dialogic. :)

      As another poster who figured out who you work for said, you might want to get in touch with people in your parent company familiar with open source, such as the eepro maintainer. They'll probably give you better answers than Slashdot. Although they won't give you as much free publicity as Slashdot. :)

      --
      retrorocket.o not found, launch anyway?
    2. Re:Support Zaptel by mamladm · · Score: 1

      I certainly know who Gerry works for. Yet, considering the wording he chose, "a division, specializing in telecommunications equipment, of a very large hardware manufacturer", I didn't feel it was appropriate for me to spell it out.

      But indeed, I agree with you that there is an incentive for Intel to release open source dialogic drivers for Asterisk if only to make sure potential customers don't have to go through Digium if they want to use Intel/Dialogic hardware.

      But there is also the factor of increasing competition. Only a year ago, PRI telephony hardware for Asterisk was available only from Digium and Intel/Dialogic. Digium was the default and Intel/Dialogic was the fallback you would choose if you couldn't use Digium. For example, Digium is very weak on international support, they have type approval for their gear only in a very few places while Intel/Dialogic have local presence and type approval just about anywhere.

      However, over the last year things have been changing dramatically. Today, pretty much any telephony interface vendor is aware of and interested in Asterisk. Voicetronix have entered the PRI market, Acculab, Eicon, Sangoma also support Asterisk now, others are in the process of development or at least evaluation, eg. Brooktrout. More vendors are likely to follow.

      Unlike Digium, those vendors have presence in and type approval for most international markets. This means Intel/Dialogic are no longer the default fallback when Digium doesn't fit. It is therefore in Intel's interest to make it as easy as possible for integrators to be able to use Intel/Dialogic gear. Open source drivers can help to achieve this.

      Intel have been very active in the GNU Bayonne community, but they have left Asterisk support entirely to Digium. Of course this has a lot to do with Bayonne's initial focus on IVR applications which is the traditional Dialogic domain. However, one might take the view that Intel have bet on the wrong horse. It certainly wouldn't be to their disadvantage to engage directly in the Asterisk community and release open source drivers. Zaptel compatibility would be the icing on the sugar.

      --
      the macintosh asterisk mailing list http://www.astm
  36. Re:If it is not broken... by Antique+Geekmeister · · Score: 1

    NVidia's case is even worse. The kernel driver is just a hook for their closed-source OpenGL libraries. The company prevents other software from being able to use the various 3D and animation features of their cards by hiding them inside the OpenGL library, and the open source community has no opportunity to contribute or gain from that software. Because the OpenGL libraries are closed source and the licensing does not allow even binary distribution without individuals signing the NVidia agreement, they can't be directly integrated into any package management system and updating the OpenGL packages will also break the NVidia usage. It also means that X Windows configuration tools can't be written to fully detect and use the NVidia cards, the X configuration files have to be manipulated by hand or by the NVidia installation tool.

  37. Release tokens by LP_Tux · · Score: 2, Informative

    Make sure you tag each release with a tag appropriate to its stability (prealpha, alpha, beta, stable etc.) Also you might want to do what redhat did with fedora and have a section if the team working on the drivers in an open source manner. naturally keep the binaries available for download too. And make sure it compiles on GCC and mingw. Good Luck!

    --
    Open-Source > *
    1. Re:Release tokens by allenw · · Score: 1
      And make sure it compiles on GCC and mingw
      Better yet, make it ANSI C so that the compiler doesn't particularly matter. Standards compliant code has a better chance of getting adopted beyond just those stuck with gcc and all of its -ism's.
    2. Re:Release tokens by LP_Tux · · Score: 1

      ANSI/ISO C might have difficulty with a microsoft compiler. I mean its not like they support 25% of the standard.

      --
      Open-Source > *
  38. Re:And more importantly... by Anonymous Coward · · Score: 0

    And you, sir, have been trolled.

  39. Dear Dialogic by Anonymous Coward · · Score: 1, Interesting

    Thank you for your interest in finally removing your head from your posterior.

    I would like to suggest the following:

    - Communicate with your application developers openly. You rob yourself of invaluable feedback when the forums you sponsor are not as free as the source.

    - Particiapte. While it's not neccessary to feed the trolls, your guidance and expertise are critical to the success of the project.

    - Take a resolute approach. An insistance on silly extra clauses added to otherwise good licenses only curtails adoption. Be free, or don't bother.

  40. Different sorts of dodgy by Goonie · · Score: 1
    While it may not be acceptable from a corporate point of view to have four letter words in public code, Linus has said that he doesn't care as long as it's only in comments (error messages that swear at the user are unacceptable).

    That doesn't mean that you wouldn't want to scrutinize the comments carefully. Profanity might not be a big issue, but sexism, racism, or homophobia would look very bad for your company, for example. Also, you might want to remove trenchant criticism of your own (or even other companies) products.

    --

    Any sufficiently advanced technology is indistinguishable from a rigged demo
    --Andy Finkel (J. Klass?)
  41. Re:Indentation? I think not. by Peter+La+Casse · · Score: 1
    Especially given the existence of the indent program.

    Existence isn't enough: they've got to actually use indent in order for it to be useful.

  42. Offtopic (Re:If it is not broken...) by joto · · Score: 1
    Yeah, yeah. Nvidia is binary crappiness. ATI is just as bad. So where can one buy a decent graphics card that linux supports (not one that "supports linux")?

    And preferably a PCI Express board too...

  43. Re:If it is not broken... by SA+Stevens · · Score: 1

    they lessen the future load on their support desk

    At some companies, the support desk just has a button on the phone to transfer the complaining customer to sales. *ring* "Yes, you want to buy one of the newer, supported fribbitzes?"

    Not saying it's good, or bad.

  44. Other telecom vendors do a better job.... by Anonymous Coward · · Score: 1, Interesting

    I am the CTO for a telecom company that once used hardware from this "very large supplier". Having worked with their products, I would be very surprised if the code for their drivers is not a train wreck. We struggled for over a year to get their PSTN boards to work with a generic ISDN PRI network.

    We switched from this company to a smaller vendor that shipped PSTN and VoIP boards with stable drivers. We've never had a problem since, and will never go back to the previous vendor.

    As for open source, if I am paying ten or twenty grand for telecom hardware, I expect the vendor to have developed and debugged their drivers. I am a customer. I am not their development team. So I could care less if the drivers are OSS or not if they work. If they don't work, I am going to buy hardware from another vendor.

    Maybe I am cynical, but I suspect this company is looking at OSS as a way to dump more work on their customers.

    1. Re:Other telecom vendors do a better job.... by Anonymous Coward · · Score: 0
      Maybe I am cynical, but I suspect this company is looking at OSS as a way to dump more work on their customers.

      Of course this is the most likely scenario. Too many zealot OSS /.'ers will view this as an altruistic endeavor, ha ha ha.

    2. Re:Other telecom vendors do a better job.... by GerryGilmore · · Score: 2, Interesting

      For whatever my word is worth, we're doing this for several reasons: 1) Sell more stuff. I am a greedy, capitalist pig and I want to sell more stuff. I know from having participated in the Linux industry since installation was on a pile of floppies that open source drivers allow hardware companies to sell more stuff. 2) Help our software be better. As mentioned above, I know that open source leads to better software, even if you do start with a train wreck. :-) 3) Help our customers. It's only somewhat altruistic in that I know that open source will help our customers in making their products better. By doing this, it helps me and my company. We are going to continue to own and maintain the code and, quite frankly, we are not anticipating much initial assistance. It's a long-term effort to work better with our customers so that they won't have similar horrible experiences as you, sadly, had.

    3. Re:Other telecom vendors do a better job.... by Anonymous Coward · · Score: 0

      Gerry - I really hope you can pull this off. I have fought the Dialogic development cycle too but with better results than the CTO in the root messsage. However my life would have been so much easier if I had open source to the drivers having just finished several Linux Dialogic projects. Right now I'm trying to convert an R4 based application to the Global Call libraries. I'm having to do this because the 4 port 960 channel T1 cards don't support the R4 calls that I need. It should be a simple conversion but I am being tripped up because of some stupid little unknown that I could figure out in a few minutes if I had the driver source code. I will continue to use Dialogic products but if you can get the source released I will be rejoicing in the streets.

      Dave

    4. Re:Other telecom vendors do a better job.... by Anonymous Coward · · Score: 0

      I am the CTO for a telecom company [...] As for open source, if I am paying ten or twenty grand for telecom hardware, I expect the vendor to have developed and debugged their drivers. I am a customer. I am not their development team. So I could care less if the drivers are OSS or not if they work. If they don't work, I am going to buy hardware from another vendor. [...] Maybe I am cynical, but I suspect this company is looking at OSS as a way to dump more work on their customers.

      I'm a consultant for random small-business-type customers.

      It's (nearly) true that all software has bugs. The only possible exceptions I can think of are programs that have been scrutinized for decades, for whatever reason (TeX, the space shuttle). So when I buy something, it's *really nice* to know that when (not if!) I find a bug, I can fix it myself, or hire somebody else to, or work with other folks on the net to fix it.

      I don't spend $10-20K on a piece of hardware like you, so I don't have much leverage with the company to get my problems fixed. (The last time I called tech support, I listened to muzak for 30 minutes, and then got to talk to a guy with a heavy Indian accent to recite from a script he must have had. He wasn't at all helpful, and I'll never get that hour of my life back.)

      I think you are cynical. This shouldn't dump *any* work on their customers. (And their customers would know about it, so the only reason that would happen is if the customers actually want it to happen.)

      To use the old car analogy, this is like selling a car whose hood isn't welded shut. Would customers have it easier if their cars' hoods were welded shut? Hardly. It'd just mean higher prices and longer waits for things they could do themselves, or hire their favorite mechanic to do.

      I don't see how you can say that users will have to debug it, just because they make it open-source. (You must be *really* cynical.) Do Apple users have to hack their kernel to get stuff to work? It's open-source.

    5. Re:Other telecom vendors do a better job.... by hyperfine+transition · · Score: 1

      I have a different experience. Everything basically worked out of the box once the PABX was set up correctly. My one gripe was that the drivers were only certified against a particular kernel version and the years went by without any updates on the
      horizon. Three months ago, the drivers were finally updated. But it's good to hear that the code may become open source; perhaps the drivers can then be kept up-to-date in a more timely way.

    6. Re:Other telecom vendors do a better job.... by B1 · · Score: 1

      (This sounds very much like our situation where I work -- in fact, I'm almost wondering if I work with this Anonymous Coward)

      Anyways, open sourcing the drivers will benefit your customers, but don't expect it to be a silver bullet.

      Your customers are in a competitive market and facing tight deadlines. If your driver is poorly documented and poorly supported, your customers will switch vendors long before they decide to fix your code. Fixing minor scripting errors is one thing. Fixing fundamental design flaws is quite another.

      Don't expect the community to do a free code overhaul for you. Open source is driven by developers scratching their itches--whether it be a simple missing feature, or an annoying bug.

      In our case, what scared us off to another vendor was the RedHat centricity of the Dialogic software. Our experience with RedHat has been that once a version becomes obsolete, it's really hard to keep up with security patches--not fun when you have a rack of 72 identical RH 6.0 telephony machines, all waiting to be rooted.

      I have no doubt it would be easy to port the Dialogic system release to other Linux distributions (e.g. Gentoo, Debian) or even make it distribution-agnostic. I'm sure it all boils down to a few critical dependencies that are packaged differently between distributions (e.g. LiS, glibc, kernel version, etc). The problem is that it's not obvious where I would start, and I don't have time to really investigate. However, if this information were more readily available, it wouldn't take long for somebody to figure it out.

      Open source is all about developers scratching personal itches. For me, it's getting a system release working on Gentoo. For others, it might be in building a better configurator, system alarming, or test/administrative utilities. Your main challenge will be to foster all of this, and build a community. Be very ready to help them through the initial hurdles.

      One strategy might be to sponsor a group of developers who are already familiar with your products (e.g. sample hardware and solid developer support). They already know what personal itches they'd like scratched--all they need to know is where to begin.

    7. Re:Other telecom vendors do a better job.... by GerryGilmore · · Score: 1

      Thanks very much, B1. Solid advice. As I may have mentioned earlier, we're not going to "dump and run", but make a sustained effort to foster much better engagement with our customers to make their live easier.

  45. 2 space tab indents? by reborn · · Score: 3, Interesting

    Interesting, a study we did showed that in terms of productivity and readability 2 space tab indents was optimimum. "Why?" I hear you ask - any developer that's worked on a project of any size above "tiny" will know that large indents don't aid readibility, unless your code is very 'squished'. Which brings us onto one of the most important aspects of any project - white space.

    Let's look at the following chunks of code;

    Many would write a simple for-loop like this (using standard 8-space unexpanded tabs);

    for(int l=0;l10;++l){
    printf("%d\n",l);
    }

    versus the more experienced coder (using 2 space expanded tabs);

    for ( int l = 0; l 10; ++l )
    {
    printf ( "%d\n", l );
    }

    Maybe it's just my opinion (and many others on projects I've worked on), but the second is far more readable and when a new coder comes along to maintain the code she/he would have a much easier job going through the code to figure out how it works. You may not believe me, but take any large chunk of code you may have and take the time to space it out and re-indent it - I guarantee that any decent coder will see my argument is correct.

    1. Re:2 space tab indents? by vivian · · Score: 2, Interesting

      What about 4 space tabs? That's IMHO the best compromise between readability & vertical space use, and what I have been using for the last 12 years.

    2. Re:2 space tab indents? by ebyrob · · Score: 1
      I'd figure an experienced coder would never use l as a loop variable. Too easy to confuse with 1. (Of course, syntax highlighting helps, but still...) Also, why not use the tags so we can read your stuff?
      for( int i=0; i<10; ++i ) {
      printf("%d\n", i);
      }
    3. Re:2 space tab indents? by Beatlebum · · Score: 3, Interesting

      The point of using the tab character is it does not represent a fixed indent. If you like 2 char indents, set your tabs to 2; if you want 8, set it to 8.

      Using hard coded spaces consumes more bytes and requires reformatting to change the indent. Use of Tabs is a no-brainer, but judging from the comments here and elsewhere people still don't understand the issue.

    4. Re:2 space tab indents? by El+Cubano · · Score: 2, Informative

      What about 4 space tabs? That's IMHO the best compromise between readability & vertical space use, and what I have been using for the last 12 years.

      From "Code Complete":

      Indentation has been shown to be correlated with increased programmer comprehension. The artcile "Program Indentation and Comprehensibility" reported that several studies found correlations between indentation and improved comprehension (Miaria et al. 1983). Subjects scored 20 to 30 percent higher on a test of comprehension when programs had a two-to-four-spaces indentation scheme than they did when programs had no indentation at all.

      The same study found that it was important to neither under-emphasize nor over-emphasize a program's logical structure. The lower comprehension scores were achieved on programs that were not indented at all. The second lowest were achieved on programs that used six-space indentation. The studey concluded that two-to-four-space indentation was optimal. Interestingly, many subjects in the experiment felt that the six-space indentation was easier to use than the smaller indentations, even though their scores were lower. That's probably because six-space indentation looks pleasing. Bet regardless of how pretty it looks, six-space indentation turns out to be less readable. This is an example of a collision between aesthetic appeal and readbility.

      The moral of the story is that even if you think it looks nice, it can impact the ability of people to understand the code. In an open source project where you want people to contribute, you need to lower the barrier as much as possible to ensure that there is a larger pool of potential contributors.

    5. Re:2 space tab indents? by Anonymous Coward · · Score: 0
      Using hard coded spaces consumes more bytes and requires reformatting to change the indent. Use of Tabs is a no-brainer, but judging from the comments here and elsewhere people still don't understand the issue.

      I always use TABS because I figure an editor can be configured to translated X TABS into Y spaces as prefered by the user. In other words, I agree.

      However, every style guide I have seen tries to impress upon you the importance of using spaces and never TABS (including the open-source ones?). Why is this? Why is this encouraged as the best practice?

      And this is even worse: the FreeBSD style guide prescribes a MIXTURE of tabs and spaces! The tabs are also twice as long as the spaces visually (8 vs. 4 characters). The NetBSD style guide has similar requirements.

    6. Re:2 space tab indents? by Nasarius · · Score: 1

      The only sane argument I've seen in favor of not using tabs is that it makes for easier viewing with tools like cat or diff. Mostly it seems like a poor excuse for not learning how to use your editor. Tabs make so much more sense, and are easily convertible to any number of spaces with sed.

      --
      LOAD "SIG",8,1
    7. Re:2 space tab indents? by rohanl · · Score: 5, Interesting
      The problem with using tabs is that although they work fine for indenting code, they do not work well for continuation lines.

      Consider the following simple example, coded with spaces and 2 character indent.
      public class Foo {
      void methodName(int arg1, int arg2,
      int arg3, int arg4) {
      return;
      }
      }
      Now suppose, I had used tabs instead. With 2 character tabs, it would look the same.

      But, someone else who prefers 4 character tabs, opens the source in their editor, and gets:
      public class Foo {
      void methodName(int arg1, int arg2,
      int arg3, int arg4) {
      return;
      }
      }
      If you're going to standardise on using tabs for indentation, you need to distinguish between indentation and alignment and use tabs for indentation and spaces for alignment

      So in my exmaple, you would need to write:
      public class Foo {
      <tab>void methodName(int arg1, int arg2,
      <tab>________________int arg3, int arg4) {
      <tab><tab>return;
      <tab>}
      }
      It's hard enough sometimes to get programmers to follow coding standards where the difference is visible to them, but trying to enforce a mixture of tabs and spaces like this when the editor does not make it easy to differentiate between them is almost impossible.

      It's much easier to just standardise on spaces everywhere.
    8. Re:2 space tab indents? by SpaghettiPattern · · Score: 1

      Using hard coded spaces consumes more bytes
      In coding, the last thing you should worry about is the excess file size caused by coding style formatting issues.

      For a long time I though TABs were better than spaces for the reasons you mentioned. They aren't. Very few experienced coders use TABs. Four spaces are fine. Read coding styles. Read code written by ancients cracks.

      Also, use IDEs as much as you want but make your code readable for people with plain terminals (think 24x80 chars vt100.) It's not that hard to do in the first place and more people will like/contribute to your code.

      --

      I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
    9. Re:2 space tab indents? by Anonymous Coward · · Score: 0

      Get a life!

  46. But... but... by Anonymous Coward · · Score: 0

    I wrote that driver, you insensitive clod!

  47. FreeBSD != Linux by Anonymous Coward · · Score: 0

    We are a division, specializing in telecommunications equipment, of a very large hardware manufacturer. Our equipment, DSP and PSTN boards, has been supported under Linux

    So? I use and sell FreeBSD. Unless your drivers work on FreeBSD why should I care?

    The zaptel people^H^H^H^H^H^Hmanagement don't^H^H^H^H^H^Hdoesn't support FreeBSD, but I can get FreeBSD drivers at least.

    If your hardware is closed source, how is it gonna run on FreeBSD if you don't support FreeBSD?

    Well?

    1. Re:FreeBSD != Linux by mamladm · · Score: 1

      The beauty of Zaptel is that it is a philosophy and a convention more than anything else.

      Consequently, there is no such thing as "the zaptel people" or "zaptel management".

      Anybody who follows the convention to write a driver automatically becomes part of what you call "the zaptel people". Anybody who participates in maintaining any zaptel code automatically becomes part of what you call "zaptel management".

      In this regard, Zaptel is about as anarchist as it gets. It started live as a free BSD driver released under BSD license by Jim Dixon for a T1 card he designed and also released "open source".

      Later on, Mark Spencer of Digium ported Jim's zaptel driver to Linux. He also wrote and released more drivers following the same convention to support other hardware. Although Digium deserve a lion share of the credit to make Zaptel successful, they didn't invent it, they don't own it and they don't necessarily control it.

      More about Zaptel is at http://www.zapatatelephony.org

      --
      the macintosh asterisk mailing list http://www.astm
    2. Re:FreeBSD != Linux by Anonymous Coward · · Score: 0

      I should have said digium. They 'only support linux'.

    3. Re:FreeBSD != Linux by Anonymous Coward · · Score: 0
      FreeBSD is for losers who enjoy being marginalized.

      You made your choice; now live with it, junior.

  48. Use the BINARY Luke, use the BIANRY by Univac_1004 · · Score: 1
    Why has nobody refered him to this /. discussion on the Hurd/L4 microKernel effort:

    http://developers.slashdot.org/article.pl?sid=05/0 3/19/1411219&tid=117&tid=190&tid=156

    from which one can locate this very relevant title:

    "Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines" at

    http://l4ka.org/publications/paper.php?docid=1208

    ?

    sort of looks like a good solution....

  49. Some Linux kernel tips by Wesley+Felter · · Score: 4, Interesting

    Get into the official kernel. If a driver isn't in Linus's tree, it doesn't matter, so you will be on an endless treadmill of API breakage. Once your driver is in the official kernel tree, the kernel hackers will take responsibility for most of the API refactoring.

    Know the politics. Most Linux kernel developers aren't accountable to anyone and don't negotiate. You will have to put up with whatever requirements they give you if you want your code to be part of the kernel.

    Know the effort. You will probably be asked to rewrite your drivers, possibly more than once. This will take months. If you don't do it, then open-sourcing the drivers was mostly wasted effort.

    As others mentioned, coding style is important. Also, wrappers are not allowed in the kernel, so call kernel APIs directly instead of wrapping them. The result is a totally Linux-specific driver, but the rules are the rules (see above).

  50. Debugging Drivers by Code+Master · · Score: 1

    We were using a PCI card from a company that previously had only provided precompiled binaries (and possibly windows DLLs, but that wasn't well documented.. you were supposed to you their app). But their app was a bit buggy and had some weird quirks and we wanted to run our systems on Linux through Python. We got some drivers from the company that were obviously recently opened. The sample program that they gave us to show how the API worked didn't quite work properly because there were bugs in the kernel extension. And nothing was documented/commented except for about half of the struct members. Some of the defines were called MAGIC_NUMBER and half the features accessible in Windows were commented out. And on top of all that, there were two naming conventions in the same module. I suggest not doing any of those things, and document/comment throughout as people will be using it and trying to understand or customize it.

    --
    The Code Master
  51. Two-way delivery by captaineo · · Score: 2, Interesting

    As a developer of binary drivers you are used to having complete control over your code, and "pushing" all updates down-stream. But once your code goes in the kernel (which I highly recommend - don't let it languish outside Linus' tree), you'll have to consider how to deal with code changes coming TO you FROM the kernel developers.

    This is both a good thing and a bad thing. It's good because you'll get fixes from people testing your code on all sorts of weird platforms you've never heard of. It's bad because you can wake up one morning and discover the kernel API for your type of driver has changed overnight, and your code won't even compile until you re-write half of it (there go your plans for the weekend). A certain amount of lag is acceptable, and you can restrict support to the stable kernel series only if you want, but expect to hear a lot of whining from users who will demand that you keep up with the cutting-edge development code.

  52. think twice by Anonymous Coward · · Score: 0

    If you don't have any concern on piracy, counterfeit, probably ok. Companies can steal and clone the hardware, microcode. I've seen many they just change the logo, company name in the binary and claim it is their products. Opening the source is pretty much a "thank you very much", now we don't even have to worry about being caught that our binary is the same as theirs. (Just not long ago it was sort of a big news that 5 major cdrom makers use the same firmware original made by another company) Many think it is fine since our primary market is the US and we know our clients. Remember most of the customers have no knowledge on how to tell the difference. Does your company have time and energy to deal with it when someone import them to your primary markets?

  53. Re:Know your Comments by darkonc · · Score: 4, Insightful
    Oh of course, because the comments in open-source applications are always squeaky clean!

    I can think of two things to look at with respect to comments.:
    First of all, you would like your comments to be meaningful, understandable and accurate. (I'm sure I could find you some juicy counter-examples in my own code).

    The second thing (which, I think the grandfather post referred to) is: You might want to edit out comments like

    • "I was going to shoot George Bush but this seems even more insane",
    • "This is the worst IP violation I've ever committed", or
    • or "This code stinks worse than our hardware."
    You know -- stuff that just might embarrass your PR group if it got published on slashdot. There probably isn't a whole lot of stuff like that, but you should hire a couple of young code monkeys to go a quick read thru your code, and flag anything even vaguely questionable for your more senior programmers to vette.

    Murphy's law says that you won't necessarily catch everything that might be embarrassing, but if only one or two nasty examples make it past the review, you can always blame it on too much coffee. If there's lots of stuff that you find on a quick audit, then you might want to delay the public release for a couple more months while you go over the code with a fine toothed comb.

    If you can find some code monkeys with OpenBSD style auditing experience, then you could possibly add in cleaning up the actual code to the benefits of such an audit. This code is going to represent your company (unless you release it anonymously), so it'd be good to release the best code your resources allow you to generate.

    --
    Sometimes boldness is in fashion. Sometimes only the brave will be bold.
  54. One problem with your analogy. by ebyrob · · Score: 1

    In this case, you're talking about *your* house, not about a house you built that someone else bought. If your house-builder had locked rooms in YOUR house that you weren't allowed in, wouldn't you be a little suspicious, if not a whole lot ticked off?

    I really fail to see how anyone can expect to continue to own any part of something they've sold. It's just plain silly and it's going to become very damaging to society at large before long.

  55. Language police? by Sycraft-fu · · Score: 1

    I hardly threatened to come lock him up for it. I am giving some advice of what to do before release. The fact of the matter is that the code released will reflect on his company. You want that reflection to be as professional as possible. Well, bad language is generally seen as unprofessional, so it's a good idea to eliminate it. It certianly won't hurt, it's not necessary to convey how the code works, so just take it out.

    However, it's just my advice, I'm certianly not trying to force it on him. If you don't like it, you can go fuck yourself with a rake :).

    1. Re:Language police? by entrigant · · Score: 1

      hehe thanks for the tip... I never knew a rake could be so sensual :).

      Anyways, I didn't mean to sound so serious.. tho coming back a few hours later to read my comment I realize I sounded quite like a bitch. It was suppose to be a joke :). Some of the comments in the kernel code can be quite funny especially if you grep for "colorful" words.

      I do understand the reasons a company would be more interested in keeping language clean than the kernel dev team. I still find it unfortunate that humanity hasn't grown out of the arcane idea of a word being evil or bad. Violence is ok. You can call people all kinds of horrible things w/o using a cuss word. But that's ok, as long as the word isn't there the intent can be as profane as you want.

  56. Re:Know your Comments by hazem · · Score: 1

    You know -- stuff that just might embarrass your PR group if it got published on slashdot.

    I've found that most PR groups are a bunch of idiots who can't give up control. "You cannot use the 'official' university font or logo in any of your webpages or documents" kind of crap.

    It's funny to think of handing them a million lines of source-code and asking them to check it before you release it a week later.

  57. Uh, this is a driver! by bluGill · · Score: 1

    I hate to bring this back on topic, but the subject is device drivers for linux. There is no need for any configure script because they only need to run on the current kernel. You know in advance exactly what is there. The most you might need is a depends line in the makefile to be sure your not getting compiled when someone you need isn't. (that is don't compile your SCSI card driver if the SCSI subsystem isn't installed) Should be trivial to do this.

    1. Re:Uh, this is a driver! by Antique+Geekmeister · · Score: 2, Informative

      Right. And autoconf has nice structures to test for things like kernel versions, the presence of any specific libraries, GCC versions which can affect code compilation, the presence of x86 or ppc or x86_64 or ia64 hardware, etc., etc., etc.

      It even has nice structures for building one version of a kernel module that's not the one you're running at the moment, or building RPM or .deb installation packages. But hey, if you want to write magical mystery Makefiles and #ifdef statements to deduce what the person doing the compilation actually wanted to do, go for it. Have fun re-inventing the wheel for every single program you write.

  58. Re:4 space tab indents? by curtoid · · Score: 1

    I use 4 myself, been coding in C/C++ since 1987.
    A 2 space tab is too small to see the relative indents over several lines of code, most of which seems to be nested between 5 and 7 levels deep for the real guts of it.
    And a tab size of 8 is way too wasteful.

  59. Re:WTF is wrong with the PHBs?? by Anonymous Coward · · Score: 0

    One good reason is that it can be a practical impossibility to guarantee that your code and/or the associated hardware doesn't infringe someone's patent, particularly a software patent. Maybe your competitor's patent. Maybe your competitor didn't have a clue either, until they looked at your (now open) source that they couldn't see before. Oops.
    By definition, PHB's are not technically astute, but they have lots of practice thinking about risk.

  60. Please please don't OpenSource,if IP soft nt hard! by Anonymous Coward · · Score: 0

    You really have to understand where your IP is... if you can move you IP to software and keep as much intelligence and cost out of your hardware you will save money for all of us. It is far better for the community to have IP in software that saves hardware costs than to have big markups on hardware and trying to obfuscate the IP into the hardware unnaturally. Most anyone can sell added value through software cheaper than through hardware, plus you can then permit generic hardwave to be used.

    So, don't make move your paid IP into hardware just so your can make your product "open source" ... you will just add costs and reduce innovation for all. we don't need any more chips with unnecessary embedded hardware that could be done in software, were it not for that fact that not one seems to worry about "open sourced" chips rather than what is open sourced. We don't need any more complex, hard to update hardware when the key (IP) code can be done in the host.

  61. NDA's and IP by Anonymous Coward · · Score: 0

    Using nVidia drivers specifically (since I have seen it), their driver source exposes a whole heck of a lot of their IP. I am sure their stockholders would not be too thrilled to have the lionshare of the companies value (and their stocks) exposed simply to satisfy a desire.

    I see no problem with binary drivers and wish linux had better support for such instead of having to roll everything into the kernel...uggh. I have gotten into some really nasty arguments with some of the kernel people about the ABI (you know who...). It's one of two or three big issues that severely hurt linux on the desktop...

  62. Legal Issues Promote Open Source Ready Code by buckhead_buddy · · Score: 2, Insightful
    One of the things that many companies are only now coming to realize is that when you get lawyers involved, you may not have the option to keep your embarassing source code private. When that subpoena arrives, you may not have the option of pulling out legally embrassing source. Taking out the cripple homosexual lawyer joke. Trying to firm up exactly which BBS that 1992 I/O polling code came from that you always intended to rewrite but never bothered since it was "free" (as in jail time) and decided to keep using it.

    Just as IBM is being asked to pull out 30 years worth of source code for SCO, your company might be asked to do the same by some company abusing the legal system. If your whole source evolution may be viewable, that suggests that only a ground-up rewrite can hide some of your nastier ethical and social improprieties. The best option in this situation is making it open-source from the start (even basing on open source code) and black box testing against your old code. Making it open will do a lot to keep it clean and test it hard.

    True, your company may have signed all sorts of legal entanglements with your old source, but you'll probably have to rebuild it all from scratch anyway in eighteen months or whenever Longhorn is finally unleashed. Starting over is inevitable; get a jump on things and start that re-construction effort from scratch now with an open source driver. Whatever changes you have to make for Longhorn, you'll be starting from a trunk of source that's stable in execution and legality.

  63. Deep nesting by Craig+Ringer · · Score: 1

    My personal view is that two-space indents encourage excessively deep nesting. It's just too easy to nest conditional structures and loops very deeply without your code looking too contorted at a glance.

    Of course, that's the viewpoint of someone who doesn't use two-space indenting ;-)

    I'll use whatever the code I'm working on uses reasonably comfortably though. I currently regularly work on code with:
    <ul>
    <li>4-spaces-indenting with a tabstop of 8</li>
    <li>4-spaces-indenting with a tabstop of 4</li>
    <li>4-spaces expanded indenting</li>
    </ul> ... and work with other indenting schemes when doing quick fixes to less familar code. Big deal - it doesn't seem to matter that much if your editor doesn't suck.

    My own code is usually 4-space-expanded for Python code, 4-tabstop for C++, and 4-space-8-tabstop for Java. Those those are the conventions followed by the code I work with most in each language, and they work OK for me.

    The only language I even understand why people care strongly about indenting in is Python (where I maintain that unexpanded tabs are madness).

  64. Nesting by Craig+Ringer · · Score: 1

    Nested 5 and 7 levels deep?

    Eek.

    The only code I have to work with that's like that is a jungle of pseudo-OO spaghetti, full of 500-line-long case statements and loops. It's horrifying.

    I've never yet been happy with my own code when control structures end up nested more than about 4 levels deep, except sometimes in _extremely_ localised blocks.

    1. Re:Nesting by curtoid · · Score: 1

      The only code I have to work with that's like that is a jungle of pseudo-OO spaghetti, full of 500-line-long case statements and loops. It's horrifying.

      Yep, it's icky, but the alternative is burying the complexity into non-generalized class methods and data structure, so that the apparent complexity (looking at a single method) is low. Of course, the complexity of the code should match the complexity of the problem being solved and not be WORSE. We have all come across overly complex code - since programmers are so smart , and have no trouble understanding how this spaghetti works..... The reality is: the smarter the programmer, the simpler the solution.

      I work with device control and image processing, and simply have to deal with an incredible amount of complexity with the cleanest structure possible. It usually takes a few iterations to refactor the code into something generally maintainable. Alas,

  65. Will that include the firmware? by Anonymous Coward · · Score: 0

    In the telecoms world, many drivers aren't that interesting; all they do is provide an interface between the application and the firmware running on the (usually DSP-based) card - I bet that's not going to be part of the source.

    So you'll need to watch out for people who see this as an attempt to outsource the OS driver work (for free), while retaining proprietary control over the firmware (and thus limiting what can be done with the hardware).

  66. Intel sources. by Anonymous Coward · · Score: 0

    http://support.intel.com/support/go/linux/mbqskit. htm

  67. not for this kind of driver though by mamladm · · Score: 1

    With all due respect, your advice seems rather inappropriate for the kind of drivers we are talking about here. This is not about storage controllers or video cards.

    If every vendor of telephony gear was to insert their APIs and drivers into the Linux kernel, you will have to rename it to something like "kernel mode telephony library with some minor operating system features attached".

    --
    the macintosh asterisk mailing list http://www.astm
    1. Re:not for this kind of driver though by Wesley+Felter · · Score: 1

      Why? What's different about telephony drivers?

    2. Re:not for this kind of driver though by mamladm · · Score: 1

      depending on what stacks we are talking about, your kernel may end up containing 99.99% telco stuff and 0.01% Linux. Of course, I am deliberately exaggerating but the point is that you probably don't want to turn Linux kernel development into a telco R&D lab.

      --
      the macintosh asterisk mailing list http://www.astm
  68. Hang on by Anonymous Coward · · Score: 0

    If you are talking about the features, those features are *obvious* to the purchaser and thepublic at large (unless you are spending money on capabilities you don't want people to know about). So the features can be copied with or without your hardware or software.

    Paranoia is correct - the unreasoning fear that someone is out to steal your hardware.

  69. Re:Know your Comments by jbolden · · Score: 1

    When the people on slashdot feel comfortable letting the marketing guys handle servers, I'm sure the marketing guys will let the people on slashdot handle branding issues.

  70. Corporate reasons for BSD over GPL by hubertf · · Score: 1
    Check out this article for some reasons to go for BSD over GPL. Feel free to contact me via email.

    - Hubert

  71. +1 Informative by jvalenzu · · Score: 1

    This point is too subtle for most ./ers. They are so religious about their indentation level that they become combative and stupid from the outset and will never understand the difference between TAB and an indentation level setting. Given the current level of discourse we should get rid of the TAB character altogether and mandate space-only indentation.

  72. Re:Know your Comments by hazem · · Score: 2, Insightful

    That's just fine. But if they want control over everything, they need to be responsive by getting things done and have useful information on the school website.

    As a blatant example, it's a disgrace to the school to have sports and music schedules that are 3 years old attached to "upcoming events" on the main page. Equally lame was that PR would not allow departments to post lists of classes being offered.

    But I think the most absurd was that PR would not even allow the School of Business, which has professors being entrusted with teaching things like marketing and branding, to have input about what was on the website for the School of Business.

    It's really sad because while the website is pretty, it's really devoid of useful information. If I were a prospective student I would quickly dropped the school from consideration just based on how lame the website was. In my case, I worked at the school (systems administrator) and got a nice discount.

    It was frustrating telling professors and department heads, "Sure, you COULD have your course schedules put online, as well as a staff directory. In a technical sense, it's quite simple to do, really. But you'll have to get it past PR first."

    Going back to responsiveness, I was assisting a professor with creating documents for a series of seminars he was contracted by the state to do through the university. We created brochures for the seminars, giving descriptions, agenda, etc. Because it was done through the U, PR demanded final approval on the things. I would agree with that in general. But, even with persistent hounding, they did not bother to take a look at them until after the seminars had already passed. How were we supposed to get the word out, and people registered (and paying) for the seminars if we can't send brochures?

    So, maybe I'm tainted by my bad experience with PR where I worked for several years. But my general feeling is that PR folks are arrogant asses who don't give a shit about what other people are trying to accomplish and who feel that as long as it looks pretty, there's no need to have current or useful information available for people.

    That's not good branding. It's just being an ass.

  73. MODERATOR you are either STONED or DRUNK by mamladm · · Score: 1

    How can my ORIGINAL post be redundant? Is it redundant because the response to my post was QUOTING me? Ever heard of QUOTATION MARKS?

    Nobody has mentioned any of what my original post says before me. It may not be of interest to you, but one thing is absolutely certain: It is NOT REDUNDANT. You may want to learn the art of reading first, Mr.Moderator, you definitely have some catching up to do there.

    --
    the macintosh asterisk mailing list http://www.astm
  74. Re:Know your Comments by darkonc · · Score: 1
    I've met PR people who are pretty functional, and tech people who can be complete asses, too. Although tech people tend to the practical side, it really depends, to a certain extent, on the luck of the draw.

    Obviously, you worked at a space where the PR peoplke had a serious power fixation and had implemented their plans of local domination. I'd say that the Borrd of Governors needs to jerk their chain something fierce.

    --
    Sometimes boldness is in fashion. Sometimes only the brave will be bold.