Re: Why Linux for the Masses
> You bring up an important point, albeit
> All projects need domain knowledge. The
> developers/designers need not only know
> how to design and develop an
> application, they also need to know and
> understand the specific issues with the
> domain in which the application is to be
> used. For development tools, the domain
> knowledge comes with the territory for a
> programmer, hence the proliferation of
> editors and other development-related
True enough, but there a also quite a few programmers who write programs to learn something. Perhaps they are only interested in learning how to use a particular library, or how to do string substitution in a new language but maybe they might be just as interested in the particular issues of a knowledge domain if they thought about it.
> What you _can't_ do is expect Joe
> Programmer to crank out a breeder
> management application (to take one of
> your examples). He/she knows little to
> nothing about animal breeding and does
> not understand the issues involved - and
> is most likely not interested in it
> either. What you need is either a
> developer that also happens to be a
> dog|cat|parrot|Old One breeder on the
> side, or a professional full-time
> breeder that happens to code as a hobby.
> An alternative is to hook up a breeder
> with a developer and let them work in
> concert; this still requires that the
> developer is genuinely interested in
> doing this, however. He's not getting
> paid, after all, but would be doing it
> as a hobby.
Perhaps, perhaps not. There are lots of apps listed right here on Freshmeat which are not free. Some are free to try, or free for non-commercial use, and some are even open source, but still they charge for a commercial license.
The question of payment becomes one of either getting paid by a company to code a particular app, or coding an app and then selling it. Such work need not be done for free, and as I said, there are a lot of businesses which need these apps. Most would be willing to pay for one which they need. After all, if they are using such an app under Windows, they have almost certainly paid for it.
In any case, hooking up a willing programmer with a bunch of breeders would be the easy part, after all there must surely be lots of discussion boards for breeders. I'm sure they would love to talk about what they love and/or hate about their current software, if they have any.
> In fact, I think you can get a decent
> profile of outside interests of OSS
> developers simply by tabulating the
> number of applications on Freshmeat for
> different hobbies/interests. For
> interests that a lot of developers share
> there will be domain-specific tools,
> while for others there will be none. If
> the set of developers and the set of dog
> breeders do not overlap, there will be
> no breeder applications, and no amount
> of exhortations will change this fact.
I was just looking at my freshmeat reg a little while ago (I forgot my password to login to post) and see that I originally registered in 1998. I've looked at the listings almost daily since the site went up, so I think I've got a pretty fair idea of what's here, and I've tried out literally thousands of the apps listed, and sent lots of bug reports and feedback to developers.
So yes, I do have a thorough understanding of "the way things are". I just don't see that they have to stay that way.
And just because there are no breeder apps listed (there is a monster breeding game though), doesn't mean that there won't be, it might just mean that no one has suggested or asked for one, or that some dog-loving programmer just never though of it.
Doing a search for "business" gets me 155 listings, of which I see niche software for print shops and pizza delivery, several accounting packages, some office suites, customer relations management, some task management, some inventory control, lots of ecommerce, some project management and a few point of sale.
There seems to be a significant amount of interest in creating apps for business, but the work is fragmented, and very little of it is complete and usable. This is where the bazaar can really work, since there are obviously programmers interested in doing the work, why aren't they working together? Where is the community?
It's also interesting to note how many of these apps have Other/Proprietary Licenses (43/155). Someone must be making some money from some of these.
Re: Why Linux for the Masses
> The bulk of Windows users aren't going
> to switch over to Linux. They just
> won't. They're not even going to move
> to OSX any time soon. ITPro is right
> that they don't think too far beyond
> clicking the icons and checking their
> hotmail accounts.
I think this represents a fundamental flaw used in a lot of arguments; that "the bulk of Windows users" represents individual end users. It doesn't, "the bulk of Windows users" are corporate users, who will use whatever the IT department gives them.
While it's true that these users don't give much thought to the underlying technical details of the systems they use, the decision makers who purchase and deploy the systems, do usually put a lot of thought into it. And these people are switching to Linux in large numbers.
The main issue preventing large scale deployment of Linux on corporate desktops really has nothing to do with email clients or browsers or office suites. The real reason is the lack of the various applications that businesses need to operate.
Accounting software is the number one thing that any business will need, not email. Any business will also need software which is designed for it's niche.
Hobbyist programmers normally don't build these applications. Why? Who knows? Maybe they just don't feel "creative" while they are doing it. Maybe they feel more creative while designing a whole new way to read email from a POP server...
[I should define what I mean by a "hobbyist programmer": Hobbyist programmers are those who are writing software for some personal reason, rather than being paid to write code for a particular project. Even a professional programmer who writes applicatons code all day and gets paid for it, when he goes home and starts working on his beloved new way to read email, becomes a hobbyist.]
Just about the only niche application software that is available for Linux is software which some company paid a programmer to write. If a company does such a thing, it only makes sense for them to try to recoup their expenses by selling the software commercially rather than giving it away.
Now, there is obviously a fundamental philosophical difference between the fellow who wrote the editorial which started this thread, and many of the hobbyist programmers who read it.
First let me say that in my opinion, trying to place any restrictions on the bazaar is just plain stupid. You can't presume to tell people what they can code on their own time (unless, of course, it violates some contractual obligation). Hobbyist programmers have every right to code whatever they want. This is good and as it should be.
Having said that, I'm sure there are lots of these programmers who would work on the applications which businesses need, if they had the opportunity, or perhaps the community.
So how does one bring that about? I don't know.
But I'll try to start right here with a some suggestions for applications which need to be done (and done well) as open source/open license, and maybe some hackers will pick something that looks interesting and write them.
First, some things which so many businesses need:
Every business needs this. Must include payroll, and support for taxes (regional). I.e., Peachtree will send you a disk with the current tax rules for your region. It would be nice if the app could simply retrieve the current tax information from some .gov site on the net (this is not beyond the realm of possiblity). Should support multiple companies, and not need to have one year closed in order to open a new year. Would be really nice if it also included support for electronic tax filing. [I'm in the US, and have no real knowledge of how tax systems work in other regions, someone else would have to suggest how that should work.] I could go on and on about features. If someone wants to start a real "design doc", I'll be happy to contribute extensively. Must not have any dumb restrictions, like 65k inventory SKU numbers or 1k payroll IDs (I've seen both of these in commercial accounting apps).
2. Point of Sale.
Every retail business needs this. Must support various common hardware, such as cash drawers and reciept printers (normally chained together off a common serial port) common credit card verification terminals, barbode readers and possibly touchscreen monitors. Needs to have backend support for reports, inventory control, warehousing and management of barcodes, as well as a nice simple interface with which to create the menus for the front counter terminals. Needs to have import/export routines compatible with common accounting software.
This one is hard, but almost every business could benefit by having a workflow system. There has been some basic work done in this area, but what is needed is not a library that can be incorporated into a program, or a framework for Zope which no business owner will ever figure out how to use. What is needed is the ability for business owners to input individual tasks, and link them in arbitrary fashion. This could very well be made to work with 1. and 2. above. For example, if the inventory level of a certain product reaches a threshold, start the process of generating a purchase order to replenish the inventory. Tracking the inventory is handled by 2. above, but creating a purchase order is handled by 1. above. Furthermore, the user might determine that they need to insert a task in an existing process, such as counting the inventory to verify what the computer says, or telephoning 3 vendors for best prices, before initiating a purchase order creation process.
And now for some a quick list of niches which need apps:
Whether they breed dogs, cats, parakeets, koi or brahma bulls, there are a lot of these out there, and they need a decent app to keep track of their stock and breeding, as well as such things as shows or contests that their prized goat has entered and/or won, as well as the stud fees collected from standing their stallion.
Besides keeping track of scheduling their time at their client's site, they also need to track such things as maintenance on their lawnmowers, floor polishers and trucks.
Framers, plumbers, electricians, plasterers, roofers...name any trade. They are mostly sub-contractors, which means they are small business owners, which means they need software to run their business. General contractors need software to schedule all of the sub-contractors, as well as scheduling such things as delivery of materials and inspections, and also to keep track of the progress of the various stages of construction. How about modding a project management app by adding in features that General Contractors need to actually run thier business?
Get the idea? There are a whole hell of a lot of niches, in fact almost all businesses fall into some niche or another, and I don't see many "creative programmers" creating jack to address any of them. Let's face it, these people need and have computers, but what they don't need is a better email client, or another super-duper font for their office suite.
Okay, there you have some starting points. Is there anyone out there who considers these things interesting or "creative" enough to actually code them? I'm not a programmer, I'm a systems guy who can write just enough shell script, perl and php to keep servers running, so I won't be the one to hack these apps into reality.
If you want to discuss these things, feel free to use my latest throwaway spamtrap webmail account:
And I'll get back to you with my real email address.
P.S. Does anyone else think that the whole "slashdot-style comments appended to articles" thing is a really bad way to have discussions? I mean comments are fine, but there are a lot of times I would like to follow a discussion even after it scrolls off the front page. The "comments" format encourages people to abandon discussions, rather than continuing them, and I think that's pretty dumb.
Here's my proposal. Rip out the comments code and replace it with code that links to a BB software, and don't forget the NNTP interface so I can use my own client to follow discussions.