Running a Small Business on the Linux Platform?
WinDOOR asks: "As part of a small-mid sized family business, finding a way to rid ourselves from the dependence of using Microsoft products is a very daunting challenge. I've been searching for a good Linux based ERP/CRM software that's adequate for use with about 20 or so users and that can handle light manufacturing and POS type order inputting. I've looked at Compiere, but consider the Oracle tax to be one and the same as the Microsoft tax.
We don't have the money nor expertise to design our own solutions like the big corporations that have switched sides. What packages or vendors have you had the most success with? Is Postgre or MySQL an acceptable database backend? Is there a viable replacement for MS Access yet? What language would be best to learn if I had to create my own solution? Do CS Students do this kind of work to pay the bills?"
I don't know about the ERP/CRM angle, but wouldn't Berkeley DB (www.sleepycat.com) be a viable alternative to Access for easy data storage?
...I can say that Linux and FOSS in general have been a godsend for my development.
We've got ~30 users, and our main business is data entry for financial / real estate transactions. That adds up to a lot of database hits, and a lot of data, period, for such a small shop.
Our main database server (which was recently deployed) runs Fedora Core 3 and Postgres. Setup was a breeze, and it's been rock solid. Postgres has a lot of the features you'll see in higher-end databases (PL/pgsql is similar to Oracle's PL/SQL). The main thing it lacks, IMO, is built-in auditing support. It does have a richer featureset than MySQL and some things that are better suited to business needs.
Our implementation uses httpd & php as the client interface. Report generation is done via PDF or postscript. PHP is relatively easy to pick up and seems to make for relatively fast development, too.
I can't speak for CRM/ SCM uses, but for our moderate demands, Linux+Apache+PHP+Postgres gets it done quickly and quite cheaply.
Give him clear requirements and let him do his thing.
// this function recursively explodes the bill of materials for the given part......
// if it fails, it will return false and the error will be stored in xxxxx.
Realize that CS students most likely know absolutely nothing about your business (and in many cases, any business). They may know the latest and greatest language to hit the Internet, they may only know the languages they are being taught in school. Be very clear about what the software needs to do, how it is accomplished, and what goals need to be met. If you are going to pay someone to build this for you, get a book on system analysis and design and document everything. Be prepared to have to explain to them how to explode a bill of materials, or why you need journals for every financial transaction.
You shouldn't care about what goes on under the hood as long as the solution the cs student comes up with works and is what you want.
Absolutely not. The last thing you need is for some student to write your system in Haskell, "because that is what they are using at school." That student is going to move on when they graduate. You need them to use common tools so if you need to have modifications at a later date, you can find someone to do them.
You don't need to look over their shoulder as they code, but you should look at the code. You don't have to understand it, but every function should minimally have a comment on what it does. IE:
bool Function ExplodeBOM(string sPart)
Set up a project schedule with regular gates.
March 1, GNUCash installed, configured, accounts set up.
April 1, POS frontend integrated into GNUCash.
Students have other priorities; midterms, finals, spring break.
It is amazing what you can accomplish if you do not care who gets the credit. -- Harry Truman
Noooo!!!! This is so frustrating I can't stand it!
Why do people still think that making a one-off, custom developed app is a good idea -- at the end of 2004? There are plenty of good tools out there -- ERP and CRM included let alone other information systems -- that either work as-is or can be adapted. This isn't 1990 anymore folks! Use !@#$!@$ GOOGLE! Better yet, hire me to work on it. What I can't do, I can hire others to do...and quickly. (mail metamark.com user slashdotsales)
Leave the custom work for customizing existing projects, and do from scratch projects only when there really isn't something out there.
If you make a from scratch custom CRM, you're screwed. The maintenace or reworking costs will end up dwarfing the 'cheap intern' that is originally hired to slam something together.
By using a vibrant existing OSS project you not only get bug fixes and updates free...you also have an upgrade path -- plus the ability to get your data out more easily later and hire whoever you want to do the updates whenever you want.
(Speaking as someone who has worked +15 years on custom projects that increasingly are based on generic pieces.)
A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
For databases both postgres and mysql are two great database backends. they are both free and open source, and both have stable ports to windows.
And you see, that's the point of the question.
He isn't looking for a back-end - he already knows about MySQL and Postgres. What he's looking for is a quick-n-dirty front-end designer like Access.
Access is a horrible DB. But the reason small companies use it is because they can design their database, draw their input forms, and have a working application, customis written for their business, without having to hire a programmer to write it.
Small businesses don't need a decent DB - Access does the job, because they often only need a one-user system, with relatively small volumes of data. What they *do* need is the ability to design a front end so they can get at their data without spending a fortune buying a specialist software package.
That's what they need. Is there anything like that available?
(Spudley Strikes Again!)