Upping The Softmodem Code Bounty -- To $20,000
Alex Pilosov writes: "I've announced a bounty for completion of softmodem code (20k$) on linmodems-discuss list. If this is successfully completed, we'll have a completely universal driver for any kind of winmodem without any proprietary code which result in all sorts of kernel version problems." Here's the full text of the announcement and conditions.
So, anyone know if this dude is just really really cool, or if there is some motivation to offer a bounty like this? Too bad I don't have a clue on how to go about writing modem drivers :)
Greg
Silly toast coward...
Really though, this would be a tremendous leap forward, hopefully someone with more skills than I can complete this code.
I know, whore, whatever. I figured I'd mirror the text before the site goes down.
/. lameness filters.)
Begin Mirror
Well, I had almost no replies to the original post, lets see if
quadrupling bounty will help any! The bounty is now 20000$.
Please, if you are interested, contact me.
Also note that I'm interested in either completion of Fabrice Bellard's
code (on http://fabrice.bellard.free.fr/linmodem.html) or Jamie Lokier's
code (on http://www.tantalophile.demon.co.uk/)
Hi,
I'm interested in completion of Fabrice Bellard or Jamie Lokier's GPL'd
softmodem code. I'm willing to place a 20000$ bounty on this project. If
you are interested in picking this bounty, please contact me for further
details.
Notes:
* Your code will be placed under GPL
* Code must not rely on DSP, pure C required.
* You MUST have background in signal processing
* You are free to reuse other GPL'd software (virtual UART and LAP/M are
ones that are already implemented in other software).
* Pieces needed to finish:
a) v.32/v.32bis modulation/demodulation
b) full v.34 negotiation (modulation/demodulation is done)
c) analog part of v.90 and v.90 negotiation
d) virtual UART
e) v.8 negotiation of all of the above
f) v.42bis/LAPM and MNP5 (and v.42 negotiation)
g) Hayes-like AT commands/registers (integrated with all of above)
I will provide the relevant ITU specs, test hardware, and specs for
testing.
If you think the bounty is inadequate, I'm willing to talk about price.
-alex
End Mirror
(slightly modified to pass
If this trend continues, and we have enough generous donors, we might end up having a whole lot of very interesting stuff out really really soon...
Wouldn't this require some other name, when (if) they ar no longer "Win only" modems? Does anyone have any ideas? I cannot offer any reward though ;)
heh,
you've got a point there i suppose...
As far as I can see this is for analouge modems only. Is this still so intensively needed that it is woth that amount of money?
There is no mention of why, is this pure philantropy, or is there some hidden benefit for Alex here?
:)
Just curious, if I had the time and inclination to learn grungy DSP processing in C it'd be an interesting challenge
seems to me that $20,000 is an awful lot to pay for the ability to reliably run softmodems in linux...almost like we're trying to beat the corporations more than accomplishing the goal.
with the prevalence of high speed connections these days, i find it odd that we're seeing a big surge for a (slowly) dying technology. linux users tend to be people who value their connection enough to get dsl or a cable modem.
i guess my observations of the current state of technology are a bit skewed by living in a college town where every apartment has "T1 Ethernet" (ha), so i'd be interested in hearing what others think about the worth of modem development.
Isn't there anyone offering a bounty for writing a program that would crash some OS :-)
The many Linux shortcomings.
Before everyone gets upset, please follow me as I outline some of the critical shortcomings in Linux. Firts is the loack of re-entrant kernel threads. The net ffect of this is a poor execution of both multi-tasking on uniprocessor systems and multi-processor systems. In a uniprocessor system the lack of reentrant kernel threads allows applications to control processor time. This cooperative multitasking is ineffecient, and systems intensive. In a multiprocessor box you wind up with an asynchronous multitaksing environment, where processor load is not balanced across the two or more processors. The net result in both situations is that processes take longer to execute. Needless to say, Windows excels at all of these.
The next is poor execution of asynchronous I/O, which is necessary for efficient communications. In fact, the execution of asynchronous I/O in Linux is quite poor, especially when compared to Windows. When subjected to the Transaction Processing Council's C and D tests, which measure transactions per minute, Linux fares poorly compared to commercial variants of Unix, BSD, and NT. The net result of this is an increased cost of ownership, as the cost of each transaction is much higher than the cost associated with Windows NT.
Another serious setback for Linux is the lack of a journalling file system. This makes data storage unreliable, and backup and recovery a dicey proposition. SGI said they would port the IRIX file system to Linux, but I haven't heard anything about this yet. However, when you look at the major commercial NOS's, they all have journalling file systems, including Sun, SCO, Windows NT, Banyan Vines, HP/UX, AIX, and Novell. Windows has cleary beaten Linux to the punch here.
I look forward to watching Linux as it grows up. I do believe it may have a bright future. It just isn't there yet! Too bad I will have to wait many years for Linux to become a viable option in the operating system arena. If I were to believe everything I read about Linux, I would have to assume that it will save the world! Please, let us also be honest and present Linux and all its many shortcomings when you are downtalking Windows.
Can't people figure out the following reasons for such a project being interesting ?
- Low cost internet station for places out of reach of xDSL / cable modem connections.
- Viable internet connection for legacy hardware / second hand hardware
- Excellent solution for development countries where xDSL is faar away yet.
The keywords here are LOW and COST.. Did you ever consider that Linux and second hand hardware might be the ultimate combination for places where they don't have as much cash as yourselves ?
d9s
life+universe+everything=42
Cheers...
$HOME is where the
-- silver_p
I may be reading it wrong, but if you don't have a formal background in DSP you can't claim the bounty. Is it just me or this unfair?
Code dead or alive ?
Dodge this !! --Trinity, The Matrix
Money where mouth is, good lad. If I had a background in DSP I might be interested. But I don't.
Dave
I write a blog now, you should be afraid.
* Code must not rely on DSP, pure C required.
Well, it's not really unfair, as a formal background in digital signal processing is unarguably required to be a serious developer of this type of code.
Qu'on me donne six lignes écrites de la main du plus honnête homme, j'y trouverai de quoi le faire pendre.
So if somebody WITHOUT background in signal processing will write the working code he will be not eligible for the award?
Regardless of the coolness factor of this bounty, the fact still remain: A GPLed softmodem driver still requires certification by the telephone companies before any device is legally connected to the telephone network using the driver.
My guesstimate are that it's much more difficult to obtain certifactions for the driver around the globe than it is to write the driver. The telephone companies are rather picky about what the allow onto their networks
Thomas S. Iversen
Have you actually looked at the drivers available in linmodems.org? look for example at the Cirrus Logic driver and look at the IBM's MWave driver - they have some common goal - they're emulating V34 and V90 protocols for example - but each chip is doing this TOTALLY differently, try to play a bit with the binary only ltmodem to see what I mean...
A unified driver won't work here since almost each DSP chip which is a WinModem is totally different from others - look at the HSF modems DSP chips (conexant) VS. Lucent WinModem DSP chips VS Cirrus Logic VS TI's DSP chip...
Or I might didn't understand you well Alex, could you give more details? You also didn't give any details about what do u offer for a group of programmers - who will get what...
Hetz (Heunique)
It isnt funny, but never the less here i my few words on this:
"I think we shouldnt support WinModem type of hardware, cause i prefer hardware solutions over software/hardware tweak really bad cheapo things."
But then who am i, what i do like about this is that we see money offered to create Open Source projects, now its know that programmers are hired to work on Open Source projects, but maybe we will see more company's and or persons offering money to get some work done. Although 20k isnt a very lot of money for a couple of weeks/months work its is for a twenty year old hacker who's skillz should not be overlooked.
Quazion
I mean, sure you got a modem for $10, but that modem turned your $1000 computer into an old 386 for any tasks beside running the modem driver.
Its explictly required that the driver in question doesn't rely on DSP code which then translates the project into:
Bounty $20000 for developing an application that will bring your computer to a crawl.
Thomas S. Iversen
The effectivity of the open source model depends on how many interest exists from someone to do a thing. All the money of the world may pay programmers salaries, but won't make some programmer suddenly interested on creating a driver for a device that is not worth his/her time and dedication. A sucessful linmodem kernel module/anything will appear on the moment that some peoply really need it; the software modems are somewhat slower, prone to disconnection under high loads and maybe it's just on my mind but the last time I used one the connection speed dropped to one half if I compiled something; all that using stable drivers under windows. In resume, you can't pay me enough to develop for such a hardware, unless I am really in need of.
... or the "Third World," as we used to call it. Linux is oft cited as the platform which will enable the mud-hut villages of the world to bootstrap their way into the Information Age.
It'll be a while, no doubt, before said villages have fat pipes with conveniently placed RJ45 jacks next to the town well. Until that day, it'll be a good thing if Linux can handle whatever type of modem people have access to.
When you change your laptop, you can reuse the same card. That's one purchase in a lifetime, and you can forget about winmodems forever.
I think that this bounty thing could maybe be a really good way to fund the development of opensource software.
I think it is very nice that Alex Pilosov supplies the money for this, but there could have been a better way to get the money for bountys like this one. I think there are a lot more than 20000 people that run linux on a notebook with a softmodem and like to have a piece of the software like this. If they would all have spend a dollar, this would have been a mucher nicer method of raising the money for a bounty like this.
I want a webpage that is a combination of PayPal, freshmeat and sourceforge. Where users could donate money to a bounty for a project they choose. If no one is able to reach the goal that is needed for the bounty the users get their money back.
Jan
THis is a copy of
this article on zdnet. completely copied including spelling errors.
by Kai Vuorinen
date: Tuesday Oct 12, 1999.
Is this still all true?
I'm just wondering if perhaps someone has patented the algorithms used to drive these soft modems. A Free Software implementation of a soft modem driver will thus be in violation of the patent then. As far as I can tell the ITU, the standards body that defines these modem standards, allows what the W3C calls RAND licensing, as they state in patent policy (excerpt):
It's paragraph 2.2 that worries me. If any patents exist on the modem standards implemented by soft modems that are thus RAND-licensable, any GPL implementation is impossible. I believe some of the compression algorithms used in some of the modem standards are already known to be patented, such as the infamous LZW compression algorithm held by Unisys that has caused the huge flap over GIF's a couple of years back.
Qu'on me donne six lignes écrites de la main du plus honnête homme, j'y trouverai de quoi le faire pendre.
Unarguably required? That's stupid.
Understanding DSP is what is required. Experience helps but some of us are capable of learning new things and being productive out-of-the-box.
Is this truly the only Earth I can live on?
hmm, i believe this is a great idea. often i'd like to contribute a buck or two for a project, and often these projects do not have a unified way of accepting contributions. say, have your 'funding' site allow users to vote for the the features of a given project. this could be good just to give the project developers an idea of what users want. then, on the top of that, add ability to donate say 50 cents via paypal to the given development team, under a given feature. once the feature is in place and works, unlock the money that was put in, so the developers have $$ for their case of beer at the end of the week. of course, this is very general, and i don't claim to solve all the problems with creating this thing, but damn, the idea is great.
--- d'oh
You don't need a *formal* background to do anything. Anyone can study in there own time, to learn to do these sorts of things.
Protected by the DMCA, any attempts to reverse engineer them will result in many lawers crying.
As far as I can tell, this project doesn't solve the problem of winmodem manufacturers not releasing hardware specs. In other words, you'd have a driver that can tell a DAC/ADC driver what to squirt down the line and work out what the stuff that comes back means, but you still wouldn't be able to use the actual winmodem; you'd have to use a DAC/ADC for which you have drivers. This means either buying a supported modem or a separate DAC, or trying to figure out how to drive the winmodem's DAC and ADC directly.
Of course, persuading manufacturers to release one or two port adresses and a little info on how to use them may be easier than getting them to release full Linux drivers or complete DSP specs. Likewise, working out how to access the DAC/ADC on a winmodem is probably easier than trying to figure out its DSP (although the DAC/ADC may be only accessible to the DSP, which may make things hairy).
No serious developer is going to go after a bounty, because you only have a 1/N chance of getting the prize if there are N other contenders. The person who finishes first is going to be the one who cuts the most corners and spends the least amount of time on design and documentation, so you'll end up rewarding the person who can produces the crappiest software to a minimum standard faster than anyone else!
The competitive aspect also makes people keep their work secret, preventing peer review and feedback.
Sheesh, if someone has $20,000 to spend on software development they should just HIRE a skilled person who will get the job done properly. It's not like there's a shortage of skilled software developers at the moment! They don't even have to be a free software developer because if you're hiring them you call the shots and choose whatever license you want.
WinModems, in contrast, are just a big hassle: they consume oodles of CPU time, they have non-standard drivers, and you have to worry about them with every OS. If your laptop has one built-in, complain to its manufacturer (it probably would have cost nothing to add a real modem) and don't bother using it.
Note that he found a hardware PCMCIA modem, inexpensive no-name, but he insisted to the salesperson to try it in his laptop before purchasing. He was lucky the salesperson allowed it. Oh, if you want a 3Com PCMCIA WinModem, I think he'll be happy to sell it to you. It won't be used anyway. :-)
I only have one modem, and old 33.6 TDK which I use occasionaly in my old laptop (for downloading email). That modem dates back from the times that softmodems were nonexistent, and everyone would have found it very strange to actually emulate a modem in software. Ah, the good old times.
Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
Yeah, anyone can study how to write English in their own time.
I have had a server colocated at Alex's ISP, http://www.acedsl.com/ for a little over a year, and had my DSL from them when I was living in NYC. Good company, good people, reasonable prices for static IPs and upstream bandwidth. I highly recommend them.
Stop-Prism.org: Opt Out of Surveillance
Not only you are right, but also any communication equipment connected to the phone network must be licensed by the local communications agency. This happens in many countries. Most of them will never bother to go after people connecting linmodems on the phone network, but some countries are very rigid in this control. This licensing, or approvement, must apply to the communication equipment as a whole. You can't license only the hardware part of software modems, since many times is the software that will decide the line levels to be used. (In Lucent winmodems, these levels are selected via AT commands, when you select the country you are in. This is done via software). This process is necessary to avoid people connecting devices to the phone network that could ruin the network.
So, in short, even if we don't worry with the patent issues of v.xx, we still have to worry on licensing the linmodem software, but since free software can always be modified, there will always have a non-approved version of it, which can cause legal problems.
Say no to software patents.
I doubt you can implement those ITU standards without infringing on a couple of patents (at least a few companies will claim infringement as soon as you publish the code).
If you have to pay the lawyers from your $20,000, this doesn't appear to be a fair deal.
I've often thought that it is in many companies interests to find ways to screw over Microsoft, even in ways that are apparently not directly beneficial to them. I've always thought that this is probably one of the main motivating factors behind openoffice.org - it might not generate much profit for Sun, but it has the potential to kick Microsoft where it hurts, as the cream of their profits come from Office. Similarly with IBM's support and nurturing of SUSE, Mandrake and Redhat.
Of course there many be companies that have identified places they want to kick Microsoft but don't want to do it publicly. Take Intel for instance - despite their long-term relationship with Microsoft I'm sure they would prefer to drive sales of their processors by releasing open source developers toolkits that exploit new features they add to their processors. So its in their interest to promote the uptake of Linux, but without risking the wrath of Bill. This is one way they could do it - give bounties via a third party for development that they see as strategic for the wider uptake of Linux.
And not just Intel - there are many other companies that have the motivation to do this type of thing but don't want attention drawn their way.
I think that he is offering to promise this bounty to a specific person or team, before they show working code. This shuts others out -- so he prefers someone who has demonstrated skills in the required area.
Perhaps if he placed a deposit with some trusted third party (Mad Dog, Eric Raymond etc) people might be happier to devote the time.
Is that before or after taxes?
The Author of the article does not specify which chip that the driver is supposed to use. Does this mean that this person wants an unfinished driver that only emulates the Vx.x protocols? The idea that I got from the post is that the author wants a driver that will work with any softmodem. Judging by the amount of chips that are out there, the driver would be huge, buggy, and take many developers lots of time to create. Not worth $20000 if you ask me.
did you mean Lazard Freres ("Lazard Brothers" in French)? They are a huge, rich "wall street" firm. They wouldn't even notice spending $20K so their SAs could run Linux on company laptops to dialup and fix shit from whereever. They also invest in scads of companies, big to small, and some portfolio company might also need this technology. Who cares, they said they'd GPL it.
"so you'll end up rewarding the person who can produces the crappiest software to a minimum standard faster than anyone else! "
Isn't that how most commercial software is created??! - I think that once complete, the software should be vetted by a third party, who can establish if the program is written to pre-agreed standards. If a program that bairly meets the spec, is released then the chances are that the authors wont see a dime.
V.42bis and MNP5 should be optional.
As long as the software is able to properly negotiate no compression with the other modem, requiring Compression adds a substanial amount of work that can be post-poned or have another person work on it.
Looking for any old 8-bit Heathkit/Zenith software/hardware - http://heathkit.garlanger.com
You're right. The only type of person I can imagine being motivated by this bounty is someone doing it for fun, or who wants to learn. Most probably NOT someone who "MUST have signal processing experience" (as stated in the announcement), but perhaps someone who wants to learn...
I don't think you'll be able to hire someone with signal processing experience for $20,000. Not if the project is going to take more than a couple of months, in which case, why hasn't it already been done?
Yours Sincerely, Michael.
No one has heard of
linuxfund.org
?
I've had enough abrasive sigs. Kittens are cute and fuzzy.
You contrast Winmodems with Winmodems?
Nearly all PCI modems ARE winmodems.
Out of your list, only the external serial modem is likely to be a full modem.
I've had enough abrasive sigs. Kittens are cute and fuzzy.
I would think that the motivation for something like this would be obvious. For a company to develop drivers, either for their own hardware or someone elses, would be WAY more than $20,000. That's a couple of months of contract time for one person, if you are lucky.
This way, they get the drivers they want, the OSS community gets another wrench for the toolbox, and everybody wins.
Why look a gift horse in the mouth, folks? Get coding!
"You can't have everything. Where would you keep it?" -- Steven Wright
If any company wanted to hire contractors or special consultants to do all this work (which seems like couple hundred man hours), the bill would run about 5 times that here in the US. That amount, though seeingly large, is like paying a half-assed programmer for 2 months work, once you consider all the associates business expenses (taxes, facilities, benefits, etc.).
In my estimation, this company is getting the deal of a lifetime. I currently work for a company that is considering buying an enterprise LDAP server (like iPlanet) to the tune of hundreds of thousands (up to millions) of dollars. I am sure if we set up a similar "bounty" to cover extensions to OpenLDAP our ROI would be about 20-to-1. This is basic business to me, and a great step forward. This is a perfect example of open source being a win-win.
----- Refactoring is the reason why man does not mistake himself for a god.
Recent events proves the lie. The current downturn in computer sales is in large part due to distrust of M$. The average user has had their computer break multiple times, for no apparent reason, 2000 breaks 98, 98 breaks 95, 95 breaks 3.1. Each new "upgrade" brought little in terms of new features or speed. Is it any wonder that people burnt so many times would hesitate to buy things? So, how are XP sales going? I'll bet they are even worse than 2000, ME and the rest.
Honest software is the only way out for hardware makers. People will buy things that work better and do new stuff.
DMCA, Hollings, Palladium. What might have sounded like paranoia is now common sense.
Time == Money
This is much like the situation with web pages and high-end monitors -- yes, of course web pages should be designed to be accessible on small monitors, but you yourself will be much happier with a large monitor.
Anyone who complains that "real" modems are too expensive doesn't know how to buy from pricewatch. On any given day, a search for "external serial modem" will return a bunch of real modems for under $30. To put this in perspective, a phone line plus an ISP account usually costs over $30 for a single month!
The benefits of a real modem are well worth the price. A year ago I bought an external serial modem from pricewatch for $30 (plus 5 shipping). This thing gets me ~50k throughput, much better latency than a winmodem, and works on either a desktop or a laptop (it's smaller than a deck of cards, and it's powered from the PS/2 port, not the wall outlet). Linux support is a nice bonus, but, honestly, a real modem like this is worth it even if you use windows only.
In summary, a linux winmodem driver is a worthy thing for the masses, but you deserve better than that.
Subject: Re: bounty for completion of softmodem (quadrupled to 20k$)
:)
From: Alex Pilosov
Date: Mon, 19 Nov 2001 09:34:18 -0500 (EST)
Interesting, I was not aware of the pecularities of v.90, if you'd like
to enlighten me, I'm all ears
However, to restate this and tighten it down: The bounty will be paid for
a modem approvable in US (FCC Part 68, if I'm not mistaken) and which
really works on most lines (and on hardware line noise simulator).
About 6 man-months sounds about right from most of people I've talked for
compleme implementation of mod/demod part. Please note that also in
conditions are implementation of virtual UART and compression protocols.
The bounty is not exactly intended for someone in US anyway, as 20k is
below market rate for 6 months of a qualified DSP engineer's time, and
then there are other pieces that need to be done. This is also not
intended to be for someone who wants to do it part-time in US, as it'll
take waaaaay too long.
-alex
On Mon, 19 Nov 2001, Steve Underwood wrote:
> Hi,
>
> Would you care to define the conditions better? As stated, the work
> would be somwhere between 1/2 and 50 man years. 1/2 a man year should
> allow a competant DSP engineer to glue various existing bits together,
> finish off the missing pieces, and make a demonstrator. The other 49.5
> man years would be needed if you want something approvable in a variety
> of markets, and which which really works on a wide variety of lines
> (particularly for V.90, which caused severe additional work in the early
> days working out how to handle the weird transformations often
> experiencd in some PCM networks).
>
> Regards,
> Steve
>
Interesting; I did not see this second message from Alex. Have I been unsubscribed from the list over the weekend, I wonder?
I'm going to answer a few questions that have been raised, and a few that haven't.
Is anybody working on the code?
Fabrice started first. Unfortunately, he has been quiet for a very long time, and I have no idea if Fabrice has done further work on the modem code. I hope he is still well and healthy.
Meanwhile, I have been secretly still working on my code base (that's the one at tantalophile) all this time. It has been an on and off affair, and I've found it difficult to find the time, energy or focus what with the day job and other projects. I keep foolishly trying to improve on the standard algorithms ;-) Nevertheless, bugs have been fixed, features added, tests done, signals are processed better than ever and I have a nice set of graphs showing simulated error performance of the V.34 core under various conditions.
In other words, there's a long way to go and please, nobody hold their breath, but there has been substantial progress and it is not on the tantalophile web site. So don't slashdot it, thanks :-) I'm making no promises about when my new material will appear, but I do promise it will be announced on the linmodems mailing list.
About the bounty
It's a bit of a nice surprise to see that offered. I'll be contacting Alex, but to be honest I am motivated to complete the project anyway. I don't want funding to dictate the goals of the project (which should be educational and of high quality, IMHO, as well as functional), although some influence would be understandable. It is likely to make a difference to the schedule though.
Legal clarification and/or commercially backed negotiation on the patent issue would be invaluable, and help with testing is also very valuable.
I didn't respond to the original $5000 request because it is not a lot of money. Considering the large amount of time, effort and to some extent resources already spent on the project, as an estimate for the remaining work, I would certainly not accept a commercial contract at that sort of rate. $20000 is rather more interesting, but I think Alex's request for V.90 is unrealistic if he wants it on a short timescale.
One thing that would be a bit upsetting is if all my work were quickly overshadowed by someone else, suddenly motivated by cash, throwing something together. But I cannot complain as I haven't exactly been speeding ahead or keeping with the community on this. I know how the Hurd feels ;-)
Standards compliance, approval, and "homologation"
This is quite hard, because anyone can modify the code and thereby break any certification of the code.
Different countries have different standards. There are differences in the energy that can be emitted, both the peak instantaneous energy and a longer term average are limited. And you don't always want to max out the energy anyway, as you're avoiding distortion.
The relationship between voltage and current is not the same everywhere. Dialing tones, engaged tones and so on vary. V.90 coding varies because the USA operates at a lower digital bit rate than most of Europe.
Some people have said that it is the hardware which is subject to regulation. This is not true. I believe there is a certain certification level for the hardware itself, for avoiding excessive energy input, making sure the hardware doesn't go up in flames when receiving the 100V ring pulses or a lightning bolt, that the impedance is matched, and so on.
However, it is (theoretically) necessary to certify the software as well for many reasons. A good example: by modifying the software, you can transmit more energy on a USA telephone line, using a USA modem, than is permitted by federal regulations. That excessive energy is considered to potentially interfere with other people's telephone calls. So, you do have to get the software right.
Fortunately we have a good example of certification in the Linux kernel. Some versions of the Linux ISDN code are certified for use on the German telephone networks, I believe. The source code is checksummed. I note with interest that it's the source that's certified, and not the binary (so the beurocracy is ignoring bugs in the compiler or the rest of the kernel).
For myself, I am very keen to write code which certainly does conform to all the known requirements. I don't feel comfortable hacking together some "it seems to work" code of this kind and releasing it like that. It's partly a reputation thing, and partly a responsibility thing.
On patents
Yes, there are many patents. Unfortunately the detailed patent situation is unknown. It is possible that the patents don't apply to software implementations in most countries, but we don't know to what extent and where each patent applies.
We don't even know which patents apply! However, there is an online list at the ITU which may be helpful.
This is hopefully an area in which Alex Pilosov and his (possibly) commercial backing can help in a big way.
I am of the opinion that users have, in general, already paid for their modems and so they should already have permission to use the techniques. It seems to be the case that software modem drivers for Windows are downloaded and installed with no attention paid to these matters, so it should not be any more of an issue for Free Software. It would be good to know for sure.
The developing world
Telephone line driver chips are cheap! For the developing world, getting an internet connection over crappy copper would be a wonderful achievement, and with full access to a software modem, you could cobble the modems together from parts.
For this reason I think it is important that the softmodem works well over poor lines as well as good ones. And yes, I would love to code "workarounds" for when the standard algorithms don't perform well on Nepalese copper lines, or wherever. It would have to be a special variant of the code, for the regulatory reasons stated earlier, but it's a lovely thought.
Is it still worth writing a software modem in order to use "winmodems" on Linux?
The motivation has certainly waned, now that many previously windows-only modems are now supported on Linux by binary-only drivers from the manufacturers. Of course, you cannot use them if you're using the wrong kernel, or SMP, or if you have more than one modem, if you don't permit binary-only drivers, if you are using an Alpha or a PPC-based iMac, or if you want to run any-BSD. But hey, a lot of users are happy enough now, so that does remove some of the motivation for writing the code.
Which leaves the educational aspect. The interior of a modern modem is not well documented, even in books about signal processing. To be sure, many of the classic algorithms are very well written up, but the details as they apply to modern modem standards are not, and there are some algorithms which V.34 and V.90 clearly require which I have yet to find any information about. (Welcome to re-inventing the wheel, but it is fun!) As Alan Cox once said, the V.90 standard is "semi secret". Read it sometime, if you don't mind paying the relatively modest fee, and you'll see what he means.
Revealing just how a modern modem works, in the form of working code that (I hope) is readable by those who wish to study it, then, is as much a goal for me as getting winmodems working. And it's interesting because I'm still figuring it out myself :-)
Interfacing with the hardware
Several people pointed out, quite correctly, that a software modem won't actually work with any of the hardware "winmodem" devices. This is correct; we need device drivers too, and that is accomplished by reverse engineering the original drivers.
I don't know Alex's exact requirements. He doesn't mention needing PCM drivers -- perhaps he has his own drivers already? But if he requires reverse-engineered PCM drivers as well then that's quite a bit more work.
Progress on that front is being made, by several people, but it is really a separate project. It is worth noting that there's a GPL'd Lucent modem driver that can do PCM. It is actually quite old now. I have faith that the PCM driver part of this problem will be solved by eager contributors if there is a good softmodem to make use of it.
Cheers,
-- Jamie
Before anyone puts much time into this questionable effort ask Alex one question, "Where is the money?"
Maybe he's for real, I hope so, but most of these PRIZES either come from a well known philanthropist or foundation, or are the announcement of a fund to distribute money under certain conditions. For example the Clay Mathematics Institute in announcing their Milennium Prize for unsolved math problems stated The Board of Directors of CMI have designated a $7 million prize fund for the solution to these problems.
A number of you've been checking this guy out. Has anyone found the money yet?
Previous Author misses:
http://oss.sgi.com/projects/xfs
sgi has ported XFS to Linux, and are in the process of making it acceptible to the kernel maintainers (ie: removing KDB from their patches).
Hope to see XFS as part of the native install in more distros. Some already have ":^)
Best!
A.C.
Hey look, it's cosource, minus all the features.
/. story and the recent advogato story http://www.advogato.org/article/377.html , I'm getting downright nostalgic.
Between this
[I wrote ~ 1/3 of the cosource code and was the only employee not to quit the site under Applix's utter mismanagement.]
One huge problem with open source is that there just aren't enough funds to pay the coders.
The GPL needs just a little bit of capitalism in order to raise some capital to pay for vital projects. The reason why nobody uses Linux is not because MS has them brainwashed, or because they just haven't tried it or whatnot.
It's because in real life, Linux just plain sucks for the average computer user. Maybe with a little funding, Linux could suck less.
-All your base are belong to the man.
Uh sorry, that ain't me, there's another person
with same name (my distant relative).
Hey, I got an idea. How about people PAY money for linux which can be used to fund/encourage development. Oh no, paying is evil... I forgot.
I'll be brief with the hurdles you will have to overcome:
Motorola holds the base patents on host signal processing, and I'm not sure how the Open Source community can get around those patents. Given Motorola's hard times, I doubt anyone will convince them to provide a royalty-free license to the patent -- especially as they have a soft-modem product in the race. (But then again, they concentrate in the Windows marketplace, so a Linux license could happen...maybe...if the moon is right.)
Then there is the CPU intensive nature of HSP modems. Depending on the quality of modem you are trying to do, CPU horsepower requirements are huge. A bare-bones V.34 implementation requires around 40 MHz of a Pentium-class CPU, while a robust bells-and-whistles version needs something like 90-95 MHz. Don't expect a 486 to handle the load. To be as good as possible on as many platforms as possible, the signal processing code would have to use integer arithmetic instead of floating-point, because the floating-point performance of x86 class processors varies quite a bit from chip type to chip type.
Can it be done? Yes. Can it be done to the expectations of the Linux community? I don't think so, unless one of the big boys (Motorola, Connexent, Nortel, USRobotics) decides to weigh into the market and provide already-developed code and an interface.
Each of which is, you guessed it, a Winmodem! Believe it or not, most PCMCIA modems ARE Winmodems. I found this unfortunate fact while shopping for a new modem for my laptop recently, at the local CompUSA, 8 out of 9 cards were Winmodems - the one hardware based modem was over $100.
Even generic, no-name PCMCIA hardware-based modems seem to be at least $50 or so.
Yes, I don't expect to find someone in US who will try for the bounty. I expect a few people in developing countries to go for it.
The project will take anywhere from 6 man-months to 12 man-months by my estimates.
Telefax over ISDN already works on Linux (well, I haven't tried it myself yet), at least with ISDN cards from AVM. They offer Linux drivers for their Fritz! Card series which implement CAPI 2.0, so the cards can be used by Hylafax.
AFAIK, it also works with active ISDN cards because they do the signal processing in hardware, but those cards are quite expansive.
Sig (appended to the end of comments I post, 54 chars)
Provide him with what he wants, and I'm sure he'll give you the money... Otherwise, save your whining for your incest sessions with mommy..
Some people here have mentioned some of the issues with writing this code, but I think the difficulty of writing modem DSP-type code (made harder in C/C++) has been UNDERestimated. From what I recall, modem code (V.32, V.34, etc) takes about 20 PhD-level man-years (ie - 5 PhDs take 4 years) to develop new modem code. $20000 is a pretty paltry sum. You might want to see how much somebody like TriSignal Communications would charge - I think they have this code. However, I doubt they would let you open-source it.
A better project would be to write the controller code for a controllerless modem. These modems cost about the same as softmodems, but they only use a couple MIPS on the host, and include a hardware DSP. This code could be more easily reverse-engineered.
Hmmmm, a modem, I sorta remember those during the BBS and dial-up days. You mean people still use those?
I want my rights back. I was actually using them when our government stole them after 9/11.
(yes this was ment to be humorous, if you don't get it, scroll on and forget you ever saw this)
Basically, AST had some very stuffy ideas about OS design. Torvalds just wanted a kernel people (well, himself actually, but besides that) could use and learn from now and for free. Well, the whole thread speaks for itself. Basically,
The whole point is that Linux was not meant to be written, studied and then left to rot on some CS grad's harddisk. It was meant to be used.
Do you know what a piece of dung Minix is compared to Linux in terms of usefullnes? I rather not start. It's a great teaching tool, but nothing more than that. And it's not even Free (tm).
So be glad Linus did not listen to AST. Else you wouldn't be posting from your pretty KDE/GNOME desktop right now.
I've met AST in person. He's still quite pompous and rigid about stuff. I know from first hand AST heavily resisted against Linux being installed on computers at the CWI in Amsterdam, but he just couldn't stop it. Go figure.
sorry for the offtopicness (hey it's that kind of a day again... sheesh. Oh my poor karma...)
is a good and open-source DSP emulator,
which may be useful for the emulation of other hardware as well. (sound cards?)
I hope someone gets busy with it.
No shit, Sherlock, that's exactly what he just said:
:)
The code must not rely on the onboard DSP-chip that some modems hade, rather do all the signal-processing in software.
Sheesh - some people learn a TLA and all of a sudden they're geniuses.
But what does my opinion matter, I just vote here. It's not like I have any money or anything.
No. I use the Gimp for windows and...well, it sucks.
What kind of problems are you having with GIMP 1.2 for Win32? If you don't want to discuss them here, send me private email at
(Ever noticed the increase in +2 posts recently? The "No Score +1 Bonus" checkbox isn't working at all.)Will I retire or break 10K?
seems to me that $20,000 is an awful lot to pay for the ability to reliably run softmodems in linux ... with the prevalence of high speed connections these days
Not all areas have high-speed connections (on the order of 200 kbps or more), especially rural areas. Would you rather have your company pitch in $20,000 to fund development of portable softmodem code for its employees' laptops or pay $200,000 per employee to move their families to an area where consumer broadband is available?
Will I retire or break 10K?
When you apply the software modem to ISDN, you get:
enjoy,
-- Jamie
That's the only excuse I have for needing a driver for a winmodem. But it is a good excuse. I actually do have DSL at home, and if given the opportunity when traveling, I would get a room with a high speed connection, but what if I don't have a hotel room? What if I need to dial into the office during a crisis? What if I just need to dial up while at a friends house? You get the idea. Besides just us laptop users, I do think it would be good for newer users who want to switch to Linux but maybe bought a PC that has a winmodem, but don't know how or want to change modems.
So you like specialized hardware? This project helps towards the goal of specialized Free (as in speech) Hardware. Just because it works on an Athlon doesn't mean it can't be ported to a GnuDSP, or even a GnuFPGA with good tools.
The patents are a real problem. I'm not sure what to do about them for, say, the commercial distributions, but I don't see them having a serious leg to stand on w.r.t. freely distributed code for personal experimentation/education purposes. It's the user's problem to verify that they have the appropriate licenses, particularly as 99.9% of users are likely to have those licenses. It's perhaps the developers' problem to inform the users. As far as I know. (I would like a proper legal opinion though).
:-) and enjoy,
-- Jamie
requiring Compression adds a substanial amount of work
I don't think we're likely to see V.42bis compression support in free software for several years, as the V.42bis standard requires the use of patented LZW technology, and Unisys refuses to license LZW for use in free software. Feel glad that patents last only 20 years after filing and not forever like copyrights.
Will I retire or break 10K?
I'm investigating which precisely patents are these (some of them have patent numbers, some don't).
One of these is U.S. Patent 4,558,302 on LZW compression that the V.42bis standard uses, owned by Unisys Corporation. Unisys's policy since mid-1999 has been not to license the LZW patent to free software projects.
Will I retire or break 10K?
It depends on the kind of compression. With V.42bis, you are probably right.
There's a school of thought that says: Compressing closer to the modem stack gives you marginally better real time response, provided the compression itself is just as good. This is because you can postpone decisions about where to place packet boundaries, and how exactly to compress the last symbols, until just before a packet must be emitted. In fact, with the V.42 protocol, you can defer selecting the packet boundaries until you're in the middle of a packet.
This would be a win with, for example, a Bzip2 style of compression (block transform), if you had the choice between doing the transform in the IP layer or doing it at the last possible moment in the link layer.
I agree that for V.42bis/MNP5/V.44, given the possibility of PPP compression, it's probably better to use just PPP compression. I'd like to see measurements though.
http://saveie6.com/
Don't think it works too well for general OSS stuff though - someone mentioned once on the VNC mailing list that Constantin Kaplinsky of TightVNC fame set up a listing there and wasn't getting much dollar interest. Glenn
I'm writing this post using a Toshiba Satellite 1715XCDS laptop, with a built-in Lucent Winmodem. Yes, the modem works under Linux. The only mod to the laptop is an extra 64M of RAM (thanks, Dave), bringing it up to 128M. The CPU is a Celeron-600, if I recall correctly, so if the Winmodem takes up "around 40 MHz of a Pentium-class CPU", we'd expect to see about a 0.8% performance hit.
The Linux install is RH 7.2; I'm in X right now, running Sawfish, GNOME 1.4 and Nautilus. On top of that, I just closed out some KDE apps (I prefer KMail over Balsa), so there are probably still some KDE things running--the DCOP server, etc. Galeon, Pan, gnome-terminal and a Python program (a small MUD client I hacked together with PyGNOME) are all running.
11:39pm up 3:26, 1 user, load average: 0.12, 0.08, 0.07
71 processes: 69 sleeping, 2 running, 0 zombie, 0 stopped
CPU states: 1.5% user, 1.1% system, 0.0% nice, 97.2% idle
Mem: 126644K av, 123836K used, 2808K free, 1828K shrd, 3692K buff
Swap: 136512K av, 41484K used, 95028K free 29188K cached
... I don't see the performance hit, myself. If the Winmodem was just "sucking up" CPU cycles, I wouldn't expect to see my PC 97% idle.
I'm posting this from a laptop right now that's running Sawfish, GNOME, Nautilus, Galeon, etc. And is also using a Winmodem.
`top' tells me my system is 97.2% idle.
The "CPU suck factor" of Winmodems has been grossly exaggerated.
Darnit guys. Find an average computer user and start talking to the guy. Every time there's a Linux vs Windows debate, everyone on the Linux team tends to start talking about how good the kernel is or whatever.
Who cares how good the kernel is if the UI blows? Or if you can never install the darn thing? Linux has great potential, the only problem is that nobody cares about tweaking a version so that people other than the coders can enjoy it.
"Nobody uses Linux because MS has a monopoly." BS on a stick buddy. People install programs and games on their computers. If Linux didn't blow for home use by average people, more people would be installing it on their computers the same way they install other programs.
> Do you honestly think Linux is any harder to
> use than Windows? You really musn't know a lot
> about Linux. Much simpler and easier to use
> than Windows.
Manually mounting your drives before you use them is easier than automounting. Yep. Oh wait, that problem got fixed...years after it was fixed in windows.
It only took me six hours to install my copy of Linux! Ohayo!
Oh look, the GUI doesn't work...
Cool! By default it's butt ugly!
Oh boy! Oh boy! I have to drop to the command line to do anything remotely usefull!
> But the opposite is not true. Can you name me
> one decent closed-source typesetting engine to
> rival LaTeX? How about a closed-source browser
> to rival Galeon? How about a closed-source
> mailer to rival mutt? Can't be done.
Er...name an open source Photoshop. Open source Word. Open source Excel. Open source Quake3.
And if you say "Staroffice" or "Gimp" I hope a business user or graphics designer smacks you.
> What difference would it make? Linux is good
> enough as it is.
Except that it sucks, of course.
> All that needs to be done is to make transition
> easier, i.e. removing barriers such as MS-
> Office document formats, Ms-only hardware, MS-
> only software etc. The only reason MS is more
> succesful is because it was here first.
All that needs to be done is to find out why Linux sucks and fix the frizzgikin problems.
MS is partially successful because they were there first, but they also find out what the customer wants and gives it to them. The Linux team could learn a lot from them.
> Sorry to disappoint you, but Open Source is
> irrelevent to communism or capitalism.
Except that it's relevant. Capitalism is forced to give the consumer what they want (sort of...). Communism can sit on it's @$$ and wait in bread lines. Microsoft must give the customer more or less what they want, or they will die out. Linux is not bound by that restriction. Also, M$ has enough money to pay it's programmers. If there was open competition in the OS industry we'd see some real innovation.
> I think for absolutely ignorant computer users
> there will be no problems with Unix/KDE. These
> users couldn't install Unix, or Windows, or any
> software. They can click on their webbrowser
> and click OK and read their email and use a
> word processor. Hardware support isn't an issue
> as they can't install hardware anyway. IMO Most
> users are like this and Linux is perfectly
> suited.
Darnit freakin darnit. Find a computer user different than you and TALK TO THE DAM GUY! Not all people who don't want to install Linux are complete idiots. They just don't want to deal with the hassle. Think of it this way: Imaging you buy a car and it stalls as you drive it out. In order to start it up again, you have to press twenty levers in a certain manner. Because of this you're late to work and you get fired. Then the engine explodes. This is what Linux looks like to many normal computer users. Normal computer users don't use the computer because they like fixing problems. They use it to accomplish a goal. The computer is a tool. They don't want the tool to sit there and break, they want it to be transparent so they can do their work.
Suggestion: Talk to:
-a computer newbie.
-a business computer user.
-a graphics designer.
-a gamer.
Find out what they're like. Linux could meet their needs if only the Linux community realized that the needs existed.
> For expert computer users a Unix wins over
> windows for remote administration and
> stability. Windows may win in the future but I
> doubt it.
Unix: better as server/programming.
Windows: better at gaming/newbies/home use.
Macintosh: better at graphics.
With a few changes, Linux could rock at home use.
> What kind of problems are you having with GIMP
> 1.2 for Win32?
The user-interface was designed by either a sadist or a masochist. Or both. Aside from that it's a pretty good program, despite the occaisional glitch and crash.
Note:
The reason why I'm so pissed with Linux is, ironically, because it's so good. It IS an excellent operating system...the only problem is that the people designing it either don't know or don't care about what normal computer users want. Microsoft does. That's why they're kicking Linux's @$$ on the desktop. Having a monopoly doesn't hurt too.
Aside from that, I've been trying to get the GUI working properly for the past two freaking years. I installed mandrake n.n and everything seemed ok...until I saw that by default it couldn't read windows drives. At this point I was just so disgusted at the shortsightedness of whoever designed the darn thing that I installed cygwin under windows and used that to do most of the work. Bleah. At one point in my life I was a Linux zealot...but then I found out what Linux was really like. Now I try to admit it's good points and point out it's flaws. At the current point in time, Linux truly does suck for the average user.
Hint to Linux designers: talk to people who are NOT computer programmers. Talk to newbies. Talk to graphics designers. Talk to gamers. Find out what they want in an operating system. Don't assume that everyone who doesn't use Linux does so because they are at fault. They aren't - Linux is. Don't assume that everyone who hates Linux because they can't get it to work or because it doesn't work they way they expect it to is an idiot. They're not. Whoever designed the thing is an idiot for not designing it properly. And the sooner people admit that, the sooner they'll start fixing the problems. And the sooner Linux will stop sucking.
Hooboy. Look at that karma plummet.
-All your base are belong to the man.
If the modem is an HCF modem (i.e. has its own DSP) you aren't allowed to use it.
Can someone explain how this is done? Do most softmodems have a mode where they can just get/send a digitized version of the analog data to digital buffers? And if they do , do have any of these modems have documentation for this?
Yes i know this is inefficient and there are legal concerns, but is this even useful for MY rockwell hcf modem?
re: patents
I am not familliar with the patent arrangement you refer to (if you don't make a profit you don't pay for the patents); at least they didn't cover that one where I learned about patents...
One of the most common patent arrangements is a per-unit royalty, where there is a fixed price payed per each unit of product containing that patented technology in use. I am led to believe that the MPEG-2 patents use such a per-unit structure, and I believe the 1394 ones do also.
Hey, if you're just doing this as a hobby/educational experience for fun -- by all means, go for it -- just not not within 100 miles of my local phone exchange please!
I certainly don't expect anything useful to come out of this anytime soon.