What is the Best Way to Start a Paid GPL Project?
pooslinger writes "I know little to nothing about programming but would like to start, fund, and maintain a GPL linux POS application. I see there are a few available with the majority being closed source. I am currently starting a business and really despise the fact that I will have to spend $2-$5k on a proprietary solution. I would like to create an application where you could take a midrange PC, connect inexpensive touchscreens, barcode readers, thermal printers, credit card readers, etc; scan/input inventory; and begin selling. Something like a Debian POS distribution that boots into X and starts a POS terminal. Does something like this exist, am I just trying to reinvent the wheel?" How have other people approached starting a new GPL project, finding talent, and ensuring the code choices best benefit the community?
First off, you really need to check SourceForge.net or FreshMeat.net first. There there are plenty of POS software projects listed at both. Find one that looks like what you're wanting to do and hasn't run out of steam, and give it a shot in the arm with some cash. Maybe spread your cash around two or three of them.
That said, the question of how you start and attract talent to an open source project... I'm not professor on the history of open source, but the most successful projects I've seen are ones where a coder or small group of coders put out an alpha of their project and it was playing with the alpha and seeing the possibilities in it that got people excited enough to come on board and start pushing things forward.
So, if you're not happy with any of the POS projects you can find on SourceForge or FreshMeat, and since you clami to know "little to nothing about programming," I'd suggest going over to eLance or RentACoder and spend a good chunk of your seed money on getting an offshore firm to build your alpha for you. While they're coding their hearts out for you (they'll want 2-3 months to work on your contract), take that time to get to know the open source community and how people launch their open source projects.
Then, when your offshore coders come back to you with a decent alpha, pick an open source license (BSD, GPL v2, GPL v3, etc.), and use the knowledge you've picked up in the prior few months to get the word out and spread the code around. If you did your homweork well and spread the word well, that seed you planted may well sprout.
But remember this, a strong open source project needs a strong leader who can handle the big picture outlook, keep all the volunteers in line and focused on the goal, and drive the project forward. You're going to have to approach some strong personalities one-on-one and try to recruit that project leader. Without a strong leader, failure is a definite possibility.
Just my $0.02.
- Greg
Start a happiness pandemic
Have you seen their products?
http://www.linuxcanada.com/pos.shtml
I am not affiliated, just been aware of them for 3-4 years now.
Windows is not the answer.
Windows is the question.
The answer is "NO."
i am going to go out on a limb here and say a person should
be able to code this up in a week or two depending on the
guidelines given to him/her.
did you already design, draw out, and etc how this POS system
is supposed to work? if not, you should realize that is most
of the work. programming it is rather easy.
it seems to me, if your business cannot afford 2000 for a basic
kit you may want to rethink your business model. and that 2000
includes the hardware.. so come again on how much the software costs?
another slashdot article that is yawnnnnn
about just using Windows if you want a POS, it means Point of Sale.
http://www.wedge.coop/is4c/
Try a search on Google.
Search terms: linux POS
No kidding. What you really need to do is decide if spending a few weeks making a system and then fixing bugs is worth the $2000 you could spend for a ready-made solution.
Slashdot News: As serious as a busted rubber
You don't need to worry about anthing with VisualForce - the new salesforce.com platform. It's time to think about application functionality vs trying to rewrite everything from scratch.
If you write it yourself, it is almost guaranteed to be a POS.
;)
Hardy har har.
In terms of opportunity cost, you'll likely spend that same $2-5k making a custom solution. Also, realize that the modern POS has over a century of lessons learned about securing cash registers from theft (particularly employee theft). You'll want to find developers who have specifically worked on POS applications before, or you won't benefit from all that knowledge.
Not a typewriter
You probably are re-inventing the wheel.
There are a number of existing free software POS apps. I'd suggest going through the list with a fine tooth comb and making sure that none of them even comes close to meeting your needs before trying to start a new project.
http://freshmeat.net/search/?q=point+of+sale§ion=projects&Go.x=0&Go.y=0
-- The act of censorship is always worse than whatever is being censored. Always.
At the risk of sounding too obvious, here's my advise: If you want to earn money with open source, charge for the customisation and maintenance of the software, not for the software itself. This way you can pick up whatever open source project you decide, since you're adapting it for your customer.
""I know little to nothing about programming but would like to start, fund, and maintain a GPL linux POS application."
It will be a nightmare to maintain, and won't be fit for general consumption. It probably couldn't even be used as a framwork.
Programming take training, and POS invlves understanging issues you haven't even thought of.
What you could do is Fund one. It will cost more then a couple of grand.
There are several approaches to this:
Hire contractor, pay them for there work, open the code. This gets you something running, and once there post it and ask for contribute it.
You might be able to get several small business to pitch in to the POS fund.
You could get some students looking to write a thesis together to get you going.
You could get some professionals to do it on weekends in exchange for equipment they get to keep. Or perhaps your business produce something you can use to trade.
--I fall into the category.
In any case, define what you want as specifically as you can. Don't do it in a language that can't be cross compiled.
Organizing project would be a great help to. That is what slow or stops a lot of projects. No one to organize or follow-up.
Please don't write it yourself without some training. I have worked on many system buyilt be very smart people with no training, and they all sucked.
Use your energy to manage the project until it gets to a point where it is usable to you. That includes allowing or disallowing contributers who want to contribute any functionality you didn't originally have in mind. Let them fork it, but don't get caught in function chasing.
The Kruger Dunning explains most post on
I am currently starting a business and really despise the fact that I will have to spend $2-$5k on a proprietary solution. I would like to create an application where you could take a midrange PC, connect inexpensive touchscreens, barcode readers, thermal printers, credit card readers, etc; scan/input inventory; and begin selling.
You say you don't want to spend as little as $2,000 on your POS terminal? You can't buy a business-ready PC and the touchscreen for that price! Have you even priced those components? Try Froogle: $500 and up for an LCD, which you want unless you're operating in a cleanroom. As for the PC, sure you can get a consumer-quality box with wirez sticking out for $500. Is it designed for mission-critical 24/7 uptime? Or is it likely as not to fail under load. Do you have all the possible software installed on it to prevent hacking of your customer information? I don't think you can get those two components alone, in the application you're using them for, with less than $2k.
Don't think you can cheap out and get everything you need at Wal-Mart and Craigslist -- you're running a business, not a hobby. You want to spend your time making money, not tweaking equipment. You don't want to spend $5,000, but what's the cost of making your customers stand in line while you try to figure out why your hacked-together hardware and software doesn't Just Work? Whether you're running a dollar store or selling overpriced speaker cables, you can't afford the downtime.
Spend the money on a system that works out of the box. If you're too cheap to do it right, then please comb your hair into a stylish point and congratulate yourself: welcome to Management!
Stressed? Me? Of course not. Stress is what a rubber band feels before it breaks, silly.
First off, you really need to check SourceForge.net or FreshMeat.net first. There there are plenty of POS software projects listed at both.
And how many of them are the foundations for a successful business?
The article poster is about to discover a harsh reality of the open source model: if you give your software away, profit-making businesses aren't going to pay for it unless there's something else in there to sweeten the deal and the software is just a means to that end. If you're expecting to make money just by developing and supplying open source POS software, you've got the wrong business model, and your chances of failure are approximately 100%.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
There are plenty of POS available, if not, they're not that hard to program yourself in your favorite programming or scripting language. Check out http://l-ane.net/ which I've seen in use or check sourceforge
Custom electronics and digital signage for your business: www.evcircuits.com
The first thing you need to realize is that most "open-source" coders are total prima donnas. They think they're worth tens of thousands of dollars, so you've already spent well above 5K right there. And once you've hired one, you have the problem of getting them to actually work instead of reading slashdot and admiring themselves in the mirror.
Are you sure you're prepared to take on this rather substantial investment?
Oh, by the way, if you're looking to other open-source people to help with the money end of it, don't hold your breath. Because while they command grossly inflated salaries, they are terrible managers of their money. They spend entire paychecks on stuff like jet-skis and strippers (in the vain hope that she will sleep with him, which she never will).
"I know little to nothing about programming but would like to start, fund, and maintain a GPL linux POS application."
;)
How many people out there just cannot wait to try out this code once it's finished?
Sorry dude, but that's about the most self-contradictory statement I've ever read. "I don't know anything about creating cash registers, but I want to build a cash register without any knowledge about how one works."
That sets off one of the primary precursor flags for "How to recognize a failed project".
it's easy to start a piece of shit GPL project - take a look at http://www.gnu.org/software/emacs/ or http://www.sendmail.org/!
If you want to get an open source POS package, I think the most important thing to keep in mind is support. When the package breaks, are you going to be able to contact the coders for help? (Sure, it should be written to never break, but let's be realistic.) You may know enough to fix it, but what about your employees? They won't necessarily be able to get you on the phone when they need to. I used to work for a company that produced a mediocre POS package, and the amount of support calls we used to receive was insane. Everything from hardware, software, training questions, networking....we had it all. Point is, make sure that you have someone waiting on the phone for you when stuff happens.
If you post as Anonymous Coward, don't expect a reply.
Damn these vi fanboys, getting cockier every passing day!
Just don't tell anybody that it is GPL-ed until they ask the license details - and if they do, just tell them that they will receive a site license that enables them to use it commercially without paying additional fees for 99 years for X dollars - and the more you charge, the better your product will be :)
Linux Cananda has a Linux GPL (and commercial) POS
Yes, well, everyone knows that Microsoft is the market leader in selling POS products.
The theory of relativity doesn't work right in Arkansas.
Creating a POS system is easy. I've worked on many. Most POS's can be created with no planning and require little to no programming skill whatsoever. Or did you mean a Point Of Sale system?
You've jumped on the bandwagon at just the wrong time. The EFT industry (which I'm part of) is currently going through a bit of an upheaval to increase security of card number data. If you're seriously thinking about devloping a POS solution, then I would take a long hard look at the number of hoops you need to jump through to become compliant.
:)
PCI-DSS covers system and network security. PA-DSS (still in draft format, and perhaps still better known as PABP) covers software application security. There are also things like EMVCo if you're thinking about chip and pin cards, and APACS standards (in the UK - not sure what the US equivalent is) for message formats to and between acquiring banks.
Considering you state you havent even learnt coding yet, you will most certainly be jumping in at the deep end with this task. I've got around 10 years experience in the field, and the pace of change is... breathtaking. Good luck - you'll need it!
Unless your business is software development (and I'm hoping it's not because you know nothing about programming), you should be concentrating on your business - not creating software. 2-5K is not that much to spend for a solid POS system. One major mistake in a developed solution could cost many times that in extra development, legal, etc. Also considering many projects like this fail you could be out the $$$ and have an incomplete POS system.
Error reading device 'Signature'. (A)bort, (R)etry, (F)ail?
"I am currently starting a business and really despise the fact that I will have to spend $2-$5k on a proprietary solution"
These guys crack me up - he wants to start a business where he would charge other people for something useful for them, yet he despites the fact that some other people also sell something useful to him. Hey you don't have to like the price, but to say "despise" is really a short-sighted way of thinking!
Just a thought.
I prefer Flambe as apposed flamebait.
2k is not that much to spend for a business. It's a write-off and you will get a lot more support than rolling your own. There are linux based solutions out there, its just going to be a lot more work to set up.
How do we contact you ( ie : pooslinger ) off-forum?
Their POS isn't GPL. Their accounting software, which their POS uses, is GPL, but the POS is commercial-only. Still, it's probably worth a look.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
You're starting a business. Unless that business is selling POS systems, why would you delay the start up of your business by waiting for a POS system to get coded? Even based on some of the Open Source ones currently available, you're likely to spend far more than $2k-5k on hardware, coding, modifications, and figuring out how to use the thing. Not only that, but what happens if it fails? Or if a bug costs you money somehow?
Seems to me that if you are starting a business, you should figure out the best model for that business, instead of diluting your time and effort (which, by all accounts, will likely occupy 200% of your time just starting your business) by reaching for something which doesn't exist.
Bill
1) You can get a very nice shrink-wrapped POS system, including hardware, for a lot less than $5k.
/something/ about programming, even if you eventually hire someone else to do it. Research the existing commercial offerings and open source offerings. Find one of each that you think works for you. BUY the one to run your business now, TRY the open source one in your own time, then learn enough about the language behind the open source one to modify it for your needs. After you've got enough chops to tweak around the open source project, then start thinking about branching or starting your own, with or without the aid of hired guns. Chances are, by the end of this, you'll find that:
2) You will not be able to develop even a very crappy POS system from scratch, sans hardware, for $5k--even at Bangalore rates.
3) While you develop a going-to-be-crap-for-a-long-time POS system, you need a reliable one to run your business.
4) Many software development projects die unceremonious yet expensive deaths.
5) This may be nothing but a colossal waste of time and money.
Because of all of the above, if you really are peeved to the point of diving into building something from scratch, you're going to need to know
1) The commercial product is sufficient
2) The cost-benefit exchange makes rolling your own FAR from cost-effective
3) You're not a software company
4) The time and money it would take to become one is enormous and way too risky
5) You have better things to do with your time and money anyway
instead of buying existing software... you are planning to hire someone to develop custom software that does the exact same thing. Also, you aren't a software company.
Look, you aren't going to save money. It costs a lot more to develop software than it does to buy it. If there's an existing open source solution, that's great, but if not you don't sound particularly well poised to provide one.
Also, GPL software (especially GPLv3 software) has some restrictions on embedded devices you should familiarize yourself with first if you intend to sell these devices to third parties.
My experience with an offshore project didn't give me a warm and fuzzy feeling. Despite several e-mails where I even wrote pseudo code to explain the algorithm for audio gain scaling, they still didn't understand. I just wrote the code and e-mailed them the code.
The issue with spaghetti may also occur with RentACoder. Spaghetti code is not just an offshore option.
Fight Spammers!
Lots of good points (start with something working is the most important) but I haven't seen anybody mention this point: Know what you want.
Whenever I've used a contractor to write software it's worked great. I made sure I very carefully thought about a) what I wanted and b) how I would test that I really had what I wanted. I then wrote it down and made their pay conditional on getting it. I think though, that if I didn't know anything about coding, one of the stages would be to find someone who I trusted who did. How I would judge I'm not sure
POSper
I'm not sure whether your comments mean you don't think proprietary POS software isn't out there or if you think the stated price range doesn't count as "expensive". Trust me, $2000 is expensive for a new startup that's self-funded. People do need POS software. You don't go into a store and see people using a notebook and a pencil to check out shoppers.
A retail store isn't exactly the place for running most online shopping cart packages from a kiosk, either. People want you to scan the items, give them a total, take their payment, and be done. They don't want to have to give you an email address, postal address, credit card or PayPal info, and select shipping options. One could shoehorn a ZenCart or something into the POS role, but it'd be better handled as a different package. It would preferably be one that can integrate and track prices and inventory in sync with an online store, though.
And you brought up another aspect that goes beyond the simple nuts and bolts of POS operations. Who is responsible for creating the training programs for this POS software? COTS POS solutions typically have already spent the $ on developing training programs, or at the very least manuals for how to use the system.
Lots of things could come up that would rapidly blow your budget.
Out of modpoints but really liked a post? 1BDkF6TtmmeZ3yqXbz9yhdYVqRYnwFoXDj
Nice idea, but it may not make sense. As has been pointed out, you need skilled programmers, and you need good support. Your only sensible bet would be to hire a local shop to customize and support one of the existing GPLed POS solutions... but unless you're already a good-sized chain, that isn't likely to be much cheaper than buying proprietary, and may be more expensive.
Now, if a company already supporting an OS POS is in your area, that's a promising option; but the economics likely won't work out if you're basically the only paying user.
You're simply finding out what everyone else has done - wheel invention is an expensive, demanding undertaking and requires a good bit of regulatory knowledge to accomplish smoothly. You could easily spend upwards of $100k to get a basic system working smoothly, with some simple testing. It probably won't interoperate well or be very extensible at that point. I'd throw in another $20k/yr for support and maintenance, as long as you don't plan on making any upgrades. Now, these are Bumfuck, Nowhere rates with guys working weekends and evenings, not 9-5 in the bay area.
I know this is not what you wanted to hear, but it needs to be said - this is a poor path to travel if you just want to create a POS system for a business. Now, for a couple million you could try that whole paradigm-shift thing and try to get a robust system out there, provided you really understand what the needs of the typical target system is. Remember, though, if you want to make it a business, you'll have to sell service of the product as your income base. That means setup, configuration, and technical support for a product which will compete in the $2k-5k marketplace. You'd have to be pretty damned efficient to even pretend to hit that mark, and it is probably not possible if your dollar figure was hardware inclusive.
Bite the bullet, get a load, and buy the commercial stuff. Your talents, and effort, will be better served tending the actual business.
Is it just my observation, or are there way too many stupid people in the world?
He said he wants to pay someone to do the programming because he knows about point-of-sale systems and not about programming. He's what some software teams call the "domain knowledge contact", or what a freelance programmer would call a "client". Outside of "scratch my itch" projects, a lead programmer is rarely the domain expert on a project, and the domain expert on the project is rarely a programmer. That's what interface specifications and client use scenarios are for.
If you're having issues with the concept, pick up a book or a short net article on Extreme Programming. While reading it, note how much time the authors spend explaining how to communicate what's desired by the customer to the programmers and what's feasible in the budget and time constraints from the programmers to the client. XP is not the only methodology out there that addresses this, but it addresses it clearly, voluminously, and in recent, easily located resources.
Hilarious meta. Good on you.
If so you will be better off investing your time and money on hookers and whatever drugs you prefer. At least you might have some fun.
This program was made possible by a grant from the Ultra-Humanite, and viewers like you.
I started a POS software application for a local restaurant. The restaurant in question decided at the last minute they didn't want to bother with upgrading (from their handwritten system). As has been stated, its important to find a motivated admin for the project, one who will get with you to understand the requirements and will keep all of the other people on the project working towards a solution. By posting this here, I'm sure you will be inundated with offers to help -- I would be willing to give a hand but my skills are almost exclusively windows (as far as the front end GUI goes). http://sourceforge.net/projects/irms/ -- its all but dead now.
This is a thread for anyone who might be interested in contributing to this project in any fashion. If we actually can put together a team of people willing to do this project for X dollars, finding people interested in this product shouldn't be terribly difficult.
Overall goal - Develop a system that can be deployed on as many existing POS machines (that are at least able to do general computations, i.e. not embedded POS only hardware) that uses a standard format for storing customer, transactional, etc, data. This would provide a strong foundation for sales-reporting, statistical, etc, use. A standard 'sales info' format would do a great deal of good when it comes to providing choices for POS solutions.
I'm a senior in computer science at the University of Tennessee at Knoxville. I have also thought that the current crop of POS software is shabby at best. Most of the POS systems already run on general purpose computers, so it would be ideal if it was possible to have a lightweight system to use this hardware. A complete system would be a distribution capable of running at a number of levels. Here's my idea of what the levels and their goals could be. Every level would be configured to be able to interoperate with other POS machines (both those from within the project and from outside, facilitated by a published communications protocol)
Very low resource POS terminal - This would be the mode intended for an ancient machine that still is able to run linux. It would be a console (text only) interface with the goal of a no-frills functional (but still easier on the eyes and easier to use than first generation POS consoles) POS machine that could be stand alone or networked.
Mid level graphical - A lower resource version of the next level, with some eye candy and other intensive features removed. Would most likely be the most commonly used.
Full performance graphical - Runs a graphical interface that takes advantage of all available resources. The overwhelming majority of PCs could support this.
Server station - May also act as a POS station. Coordinates the activities of any number (scalable to redundant multiple stations if there's need) of POS stations, coordinates the storing of POS data into databases, enforcing policy for POS stations, etc. A central point of control for monitoring real-time activity, controlling stations, etc.
Dumb frontend - A station that does not need to be directly connected to any hardware, but rather uses server-supplied resources. I.E. a dumb touchscreen could be a frontend, while the credit card reader and reciept printer connected to it are actually connected to the server, though this is transparent to the user.
Communications between devices can be secured via public key protocols: a key stored on the harddrive, or a smartcard stored inserted in a reader, possibly with the reader housed inside the PC case for tamper resisitance. Employee permissions could be controlled in any manner that PC security is handled: smart card, password (not recommended), biometric, etc.
I've got the same problem with movies. No way I'm spending $10 for 90 minutes of entertainment. So, if anyone knows some actors, film crew, etc. I am willing to pay salaries, as long as we can keep the entire budget under about 7 dollars.
This is noble, I suppose, but
And carefully consider how much time and money you can really afford to devote to this if you are also trying to launch another business of your own simultaneously, and whether you've really considered the relative priorities of the two projects. New small businesses are often precarious enough as it is, even without the owner devoting considerable time and resources to another side project.
I have developed a relatively successful, proprietary restaurant POS, based on an all open-source software stack. If someone had funds to support a very small team of developers for one year, I could create an entirely open-source version (complete rewrite, of course). The POS application suite is a large, complicated, and feature hungry piece of software and should not be thought of as anything less. Money is made with the software by running the main repository and configuration interface as an ASP service and charging a monthly fee to run the software there and in the stores. Something like 40 - 200 USD per month per store depending on what extras they want.
http://www.x2ii.info/
When I had just graduated college I implemented a portion of what you're describing -- a barcode system to track inventory for a small business. It reads and prints barcodes, has a database that interfaces with a barcode reader so you can scan to get information about inventory, prints reports, etc. This was a business that was so messed up that they were losing hundreds of thousands of dollars a year simply because they couldn't keep track of their inventory.
The cheapest proprietary solution they found for this was about $30,000. I think my time to implement the system and train the staff on it, at $15 an hour, was probably close to $1000.
Their next problem was their awful POS/accounting system. After talking extensively about either writing a new POS/accounting system, or hooking the inventory program into their current program in an automated way, we decided neither was worth it. Writing a POS that didn't suck would have taken months and extensive knowledge about accounting, tax law, and security. I also didn't want to be even remotely responsible for stolen credit card data, which would be a disaster.
Also, none of this is a fun or interesting problem, it's tedious in the extreme. You could probably pay someone like me to write a POS that is comprehensive, secure, and reliable, but I'd estimate the cost in the six-figures once all is said and done.
And that's why they cost $5000, because if you could write one (and support it!) in your spare time for cheaper than that, you'd only have to sell a few hundred copies at $1000 a pop to become quite wealthy. Someone would have done that already. It's not going to happen any time soon.
If moderation could change anything, it would be illegal.
Even a knucklehead knows that a POS has two operating modes: cash register open, and cash register closed. Vi is a perfect fit for this:
:%!discount cardnum
:w - print receipt
:q - transaction finished
i - insert more scanned items
dd - remove an incorrectly scanned item
Edit mode is very simple, you just add in scanned items. You don't want your clerks to be scanning items while they make change or accept payment... that would be ridiculous! Contrast to emacs POS:
alt - process selected item as a discout card
meta-shift-c - hold down while customer scans credit card
control-meta-s - save current items to payment buffer
control-meta-x - print receipt
control-meta-q - transaction finished
meta-o - open register door (in case it didn't open automatically due to an exception)
... with emacs POS you have to switch around to different buffers, press convoluted combinations of keys, etc. Not even to mention what happens when parts of the bill disappear because the garbage collector determined they were no longer needed to calculate the total. Or what if you get robbed, when you have a gun to your head do you really want your POS to be hassling you that the customer didn't select a payment option instead of just blasting out ":wq!" ??
As you can see vi is a much better choice for POS.
Your customers aren't stupid. They recognize a POS that's in widespread use, and they will recognize that you cheaped out.
It might be petty, but customers know cheap, unreliable, POS systems from experience, and this can definitely impact the
confidence game that is sales.
My advice is to buy the same HP RP5K system Starbucks uses, if for no other reason, the positive (or at least neutral) impact it will have on customer perception. If they've seen it, especially if they've seen it a *lot*, it won't get in the way of them being comfortable giving you money. If your customer's perceived experience isn't pretty much the number one thing on your list of priorities, it behooves you to put it there. I guess, if you're setting up the checkout system for a bail bond office or the DMV, maybe not so much.
-fb Everything not expressly forbidden is now mandatory.
Quasar at http://www.linuxcanada.com/ does exactly what you want and I believe is or has been converted to GPL and is open source now.
A wonderful accounting package but also includes addons for POS and possibly some others.
Don't be an idiot. You're trying to start a business, yet you are creating a monstrosity of a barrier to entry for yourself. When you're in business, you do what you're good at (what makes you money) and you buy what you are not good at. You said yourself, that you have no idea how to run a software development project.
If you do "roll your own", you have no idea how long it will take to build this thing, what the quality will be, whether or not it will interface with your accounting software, what the response time will be for breakage, what it will ultimately cost, and probably about 100 other things that neither you nor I are thinking of right now. In the meantime, you are losing money.
On the other hand, you could buy a package and be up and running tomorrow.
Buy a QuickBooks POS for $800 and get on with your business plan. In five years you'll be able to start a charity open source project.
As someone who started two successful businesses, I can't believe you even asked this question.
They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
"I know little to nothing about programming but would like to start, fund, and maintain a GPL linux POS application."
Don't. Hire some real programmers. It is not illegal to pay people to write GPL software. Expect to pay more then the $5k you mentioned if you want competent programmers and not some Muppets from Mumbai.
Seriously have you ever been paid to code?
A couple of weeks? You haven't thought that through. What all does a POS system do in your mind? Does it talk to inventory? Accounting? How does a computer kick open a cash drawer? What about CC and ATM cards? It will take you couple of weeks to figure out exactly what it should do, and to collect interfaces it will need to talk to. Then you start to build a small team...
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
I always thought it meant Pineapple Orange Smoothie. :(
Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
I have to second the parent. I've programmed commercially funded GPL E-Learning Systems and built a few small business support systems entirely from OSS components. $5000 dollars is an absolute minimum to get an ERP or CRM system set up, configured and extended in a usable manner. It won't be any other with even the most frictionless of POS setups.
If you have somebody competent you can trust then you can kickstart the first components of someone who wants to build a small POS system to start his own POS software business (maybe a student or so). But that's an extra load on top of your job of building up your own business so I'd be triple carefull before attempting that.
I too strongly recommend you do some research on shrinkwrap POS systems and then ask a reputable local OSS savy freelance programmer / SMB IT consultant how he would automate your business and what it takes to implement some glue-scripts for automation and data-migration to bringe the gaps between bill-printing, the ledger and whatever other shareware you piecemeal your first IT enviroment together with. The programmer and the job(s) he needs to do shouldn't initially cost more than $2000 in total and deliver measurable speed up of your IT pipeline. A good programmer with experience and consulting skills will - in the first round - speed up a mom'n'pop shop business by up to ten to twenty weekhours and bridge the worst gaps in IT on a relativly small budget. If you go that way, you can also see if your IT specialist is for real or just a wannabe. And you won't risk to much either.
If your business grows he'll know enough of yours to extend IT accordingly and you'll both know what problems to look out for. On the second or third iteration of your business relationship you can start thinking about funding an OSS project with your favourite programmer as a funded project-lead. All else is too early.
Just a free advice from an E-Lancer and OSS Consultant.
We suffer more in our imagination than in reality. - Seneca
We have been using Quasar for several years (from Linux Canada). The POS part is not GPL, but the accounting part WAS. They are now shifting away from the GPL for their updated versions (unless that, too, has changed).
In any case, they are nice products.
Isn't calling a GPL lunix app a P.O.S. redundant?
BTW, if you intend to make any kind of money from your Lunix app... you better steer clear of GPLv3. Stallman gets either your balls or your soul- it's in the license agreement.
Clearly if the primary business is retail than it would be much smarter to pay for a proprietary POS (or use an existing OSS version) than starting a new OSS project. The latter approach is going to take a long time to get to the level where it can be used effectively for a business and there's a significant risk that it never will.
He should get the core business profitable ASAP and then if he has money left to burn, he can hire people to create any OSS product he wants - there's no particular reason why his choice should be limited to applications related to his "day business".
The bottom line is that starting a software project (proprietary or OSS) to support some aspect of a new business is not a very good idea unless the software is a core part of the business and isn't available from anyone else. Unfortunately in that scenario the software is likely to hold most of the value of the business and so making it OSS will probably limit profitability in the future.
If you want to start a project, you really need to be a coder. But as already pointed out by the parent tThere are already a lot of GPL POS project. More mature projects can use more people than just coders:
1.Testers: An d i mean people who can say more than "nice" or "it chrashes" Writing good test reports is an art not enough people have
2.Templates: Easy setup for some pos business. In a restaurant you need some other things in a POS than in a fashion shop. They will need a different template.
3.Documentation: way beyond the screenshots and this is great stuff.
4.For POS hardware support is GO-NOGO decision in a pos system. what printers does it support? what input/scanners?
5.Support: This is what people pay for and how you can make money out of it.
Anyway, getting to start a project and let the free coding be done by someone else will result in disappointment.
To bring the thread back on topic, there's always the harrowing tale of a company trying to pay a coder to get their enhancements into Emacs.
I sell you OPEN SOURCES POS very cheap ONLY $1500!!! YOU SAVE $500!!! Best Open Sources Pos You Can Buy For Low Money!!! BUY NOW! SAFETY, SECURITY IN ALL YOUR FINAL TRAMSATCIONS
Please join the LedgerSMB project. Our POS solution at the moment works for retail environments, but there an understanding that we need to build an alternate interface for it. You could be a part of that and enter into a project where there is already a lot of (paid) work and where a lot of the code is in place to do what you want it to do.
LedgerSMB is a full accounting solution. A POS component would merely interface with core accounting logic. It is not a lot of code and could be managed with Perl/Tk, Perl/GTK, or (as we begin seriously on 1.4) any other framework you like as the core accounting data is moving into the database. In six months, hopefully you can have a product that would take yourself years to build, and you can be selling your services for good rates.
As I mentioned, there is a lot of demand for LedgerSMB consultants, and this is expected to go through the roof as get a better POS framework in place. Most of the core team is saturated with work on this project (most of it paid), and so it is an opportunity for others as well.
Best Wishes,
Chris Travers
LedgerSMB: Open source Accounting/ERP
You might be trying to reinvent the wheel. BananaPOS seems to have died. Why don't you resurrect it? http://bananapos.com/pos/home.html
a POS framework needs to do.
I have customers running LedgerSMB in a POS environment. It doesn't handle all environments at the moment (mostly just for retail), but it does work.
In general, you are talking about a system which generates invoices, collects and tracks money coming in and out, etc. Sounds almost like a full accounting system (which is in fact what LedgerSMB is). LedgerSMB is under the GPL v2 or later (no plans at all for moving to the GPL v3).
We inherited a mess of a codebase though and are working on it as quickly as we can. And we welcome contributions (and are willing to share the workload in terms of paid work too).
LedgerSMB: Open source Accounting/ERP
the *hardware* for a POS terminal. We haven't even got to software yet.
This is an expensive area. And it is one where timely support is absolutely critical, as is database performance, and the like.
LedgerSMB: Open source Accounting/ERP
I built my first POS project for about $1000. They still pay me for enhancements (now we want to enter vendor invoices on a PDA...).
Granted I was modifying an existing project. Granted a lot of the hard parts were already done...
And granted that in the two years I have donated probably tens of thousands of dollars worth of labor to the core project we forked (LedgerSMB)....
If I had started from scratch, it would have been $10000 for the first version at least....
LedgerSMB: Open source Accounting/ERP
I would second the idea that this should not be something to throw a lot of money at if you don;t know what you are doing.
And if you don't know enough about programming you *will* create something that is hard to maintain. I walked away from my first big FOSS project because it had become unmaintainable. It doesn't take training as the combination of experience and an obsession with learning how to do things right.
A better option is to find an open source project that meets your needs (like LedgerSMB), and hire a programmer to help adapt the software to fit your project's needs. Then sell the full set of hardware together. YOu can pay programmers to make necessary changes (or if you want, you can use this as a way to learn how to program in such an environment well-- note that this will be frustrating and time consuming, however. You can provide technical support (and send back additional requests to programmers), etc.
Your main profit then comes from selling the solution.
LedgerSMB: Open source Accounting/ERP
Take a look at Stoq (http://www.stoq.com.br).
It's a great project, in active development, and even has a live CD!
will break from time to time.
Moving parts? check (printers, fans, barcode scanners, etc)
Databases that can get out of whack? Check
File buffers that can cause corruption on a hard shutdown? Check (I have seen businesses lose an entire day's records due to data corruption on P-o-S POS solutions).
Databases that can suddenly introduce performance issues? Check (especially if you use a good and robust RDBMS like PostgreSQL, there are traps you can fall into that can cause sudden and problematic plan changes).
Corruption due to failing hardware or environmental issues? Check
Note that such a system is going to hold a lot of data after a while. All manner of things can go wrong. Having someone who understans the entire stack and implementation is critical. Which is what my business does...
LedgerSMB: Open source Accounting/ERP
First, I think the GP is right about most of it, so you need to decide what you are really good at doing. If it is not programming, then don;t do the maintenance part.
If you were instead to, say, join LedgerSMB, we could do the programming for you at a whole lot less that you would have starting the project yourself. You could help the project and we could help you too. If you have funds, pay for features you or your customers need. If not, you can still sell the software and leverage the larger community. But if you can't do the programming, you are going to get stuck really fast.
LedgerSMB: Open source Accounting/ERP
However, now you need to read the PCI Data Security Standard and make sure your application is up to snuff... This is anything but trivial. It will take you couple of weeks to figure out exactly what it should do, and to collect interfaces it will need to talk to. Most of this is not hard. Now, when you start trying to determine what businesses processes you are going to support, and how these are going to work, that is difficult. The interfaces might take a day or so to collect. The processes, on the other hand, may take a lot longer.
1) What is the cashier's workflow? Are you supporting retail, coffee shop, restaurant, or other environments? How do you expect them to use the software?
2) What business requirements do you need to support for the managemnet of data? Are you connecting to another accounting project? Ae you taking over any additional accounting logic? What is handled in your app vs, say, in Quickbooks?
3) What measures need to be in place to support efficient cashier workflow in each of the above situations?
4) What data checking and security measures need to be in place? After all, real money is at stake.
Those questions take *far* longer to answer, and the answers may continue to evolve over time. Chances are the answers will have to come from your prospective customers. Furthermore, this is a very difficult set of questions because, for example, you need it to be as time-efficient for the cashier as possible.
Imagine how much more you would be annoyed if you were in line at the grocery store and the system took 30 extra seconds to open a new invoice...
Best Wishes,
Chris Travers
LedgerSMB: Open source Accounting/ERP
Its amazing how many Linux/Free software fanatics use emacs as its the best thing around. I think its more a "see i'm a linux hacker, i use emacs" kind of mentality. If you use emacs or vi, you're KOOL, the in-crowd, part of the h4x0r crowd.
It's web-based, uses Perl and SQLite on the backend and Google Gears on the browser to improve performance and network load. Check out http://www.hijinxcomics.com/software
dan shahin
Hijinx Comics
to mail me, first remove the evil spam.
You can buy all the hardware for a good, efficient retail POS system for about $2000. That includes an LCD monitor, a minimal PC running Linux, a dot matrix receipt printer, a POS keyboard (optionally including magstripe reader), a barcode scanner, a pole display, and a cash drawer. If you need a touchscreen but not the keyboard, barcode scanner, and pole display, add another $300 or so.
In a retail environment you want to input all your data using a barcode scanner and keyboard anyway. Touchscreens not only cost more but make the system slower as people reach between the keyboard (optionally including a trackball) and the touchscreen.
Now, in a coffee shop or restaurant, you need touch screens. This is a different issue.
LedgerSMB: Open source Accounting/ERP
Aside from the Escape/Meta-Alt-Ctrl-Shift and Eighty-Megs-At-Startup jokes, why is it a bad thing to have a text editor which includes the rest of the operating environment in it (from the games to the web browser)?
Then again, some of us don't want an operating system that thinks it is a text editor....
LedgerSMB: Open source Accounting/ERP
I have been working for my dad's company for the past three years now as a programmer of all sorts. One of our top-selling products is a POS system designed from scratched for Windows. It does everything: purchase orders, labels, CRM, VRM, remote access, full client/server model, multiple store support, sales and repairs (for jewelery stores) among other things. It can also print full 8.5"x11" receipts and handle every device out there, from barcode readers, cash drawers, pole displays, etc. All it's missing now is RFID implementation and SKU handling.
Let me tell you, designing all these and testing them for the past three years is no joke. Don't think your system will be fool-proof from the beginning, you'll lose your mind over it. You'll spend endless nights working on your code to get it right. If you're starting up a new business, don't think you'll be saving money on designing your own system. Spend your time selling and buy the necessary wheels to get your company rolling in the shortest amount of time rather than reinventing the already optimized wheel. Your business model cannot differ THAT much.
As a company, we are well aware of the competition from closed and open-sourced alternatives, yet we hold our own market thanks to our excellent support over the phone and experience in handling various types of retail segments. We have people coming in once in a while telling us how expensive our software is (2,000$ CDN for the top-of-the-line edition, installation and setup included for every computer in your first store) and how their POS system they bought and downloaded off the web cost them only 100$. These people end up coming to us for a proper system when they realize their application hasn't been updated in months because the developer living in his parents' basement got a girlfriend. Now, I'm sure there are some decent applications out there for free that are great, but the majority of them aren't ready for the mainstream and they don't end up addressing the needs of a business. An individual or a team of individuals cannot assess a business: we're talking money being made here, you can't just beta test it on your clients or download an application and hope it works out of the box: you're wasting your time. There has to be an established business addressing the needs of another business for money to roll (this is where experience counts): we sit down with the client and make sure our application does everything the client want. If not, we customize it accordingly and deploy it for them. Your 100$ shareware application cannot do this.
p.s. yes I am biased, but we have been in business for 21 years and are still going strong.
Hmmm....
Touchscreens are handled by X
Barcode scanners usually come in as keyboard input
Plain text receipts are not hard (images are more interesting). CUPS may or may not work (LedgerSMB doesnt use CUPS for this because of issues waiting for the document to be printed as it gets spooled on the server, then the client, and possible contention issues with the cash drawer control).
cash drawer support and pole display support are also trivial.
Now.....
How about an application that securely tracks money and inventory so as to prevent both employee and customer-initiated theft, under heavy load, which must work as quickly and efficiently as possible? That is the more interesting part.
LedgerSMB: Open source Accounting/ERP
I work in this industry, and it's not as simple as a 2 week piece of crap. The POS software is relatively simple; it just has to total up the sales, add any discounts, manage tax (annoying in itself, given that some items are taxable, some aren't, some attract a different level of tax, etc), generate/manage any store discount funds, and generate receipt tickets for all of that. It takes a lot longer for a real developer to do this right.
It's not some P.O.S that you hack together in PHP then run in a web browser in the client. While I'm at it, did you ever think about designing it to change and meet evolving needs? Two weeks of thought went into our database designs for a really simple system to guarantee that if we needed to extend it later that we could do so without major rewrites. Your engine should be configurable by scripts so that you can adjust it to different taxation regimes, etc without rewriting the code.
As for actually receiving payments, you need to talk to a EftPOS machine. Some are easy, some are hard, all speak different languages. All require accreditation from the manufacturer before they'll actually sell any to work with your system. This means you software has to be bullet proof because they test against all sorts of extreme cases that you could never think of. You won't know about interfacing unless you're willing to enter into NDAs either.
For some EftPOS machines you also need to talk to the switch/bank to get the funds. The machine generally creates the messages for you and you must act as a router. Different banks have different requirements too.
You could write some P.O.S (as in Windows) POS application that nobody wants to use in 2 weeks or you could spend a year and write a reliable and stable application that people are actually interested in using and will be certifiable to interface to payment gateways.
I agree on one thing though; if you cant afford the 2-5k for a pre-built POS system but still feel you need one you either need to rethink the size of your business or rethink your business model/budget.
I drink to make other people interesting!
For example:
In Ontario Canada, some items are subject to PST and some are not. Last time I was told, the rules for pasteries were:
If a pastery is not individually wrapped, and you buy fewer than six, they are subject to PST if the subtotal of the pasteries and other prepared food or beverages is greater than $4CAD.
If the pastery is individually wrapped than it is subject to PST unless you also buy a prepared food or beverage, and the subtotal of those items is less than $4CAD.
---
In Quebec, Canada, PST is 7.5%. However, the federal GST is taxed under PST also and the rate must be stated accurately on the receipt (as 7.5%) as it was set by the province, not the effective tax rate.
I am sure there are other screwy laws that would affect POSs as well. I know the above examples because members of the LedgerSMB core team are from these areas.
LedgerSMB: Open source Accounting/ERP
It would be a smart move to use webERP as your base system and just add your POS system to it...
EMACS is a great operating system. The only bit that really sucks is the editor.
All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
Am I the only person who who can't avoid reading "POS" as "pile of shit"?
"Hi I'm developing an open source pile of shit".
"Really? I sold my soul to the devil and I'm developing a proprietary pile of shit."
Coincidentally, a pile of shit is what you'll end up with if you think you can develop a POS (point of sale) system for $2K - $5K. I realise you haven't actually said that, perhaps you think it's worth spending a little more to get a POS system that is open source i.e. you are not averse to investing into the open source community. This is a commendable motive, but unless you are filthy rich, I'd advise against it,
I'm a bit out of touch with contractor rates in the US but $5K would get you less than two weeks of a half way decent programmer in the UK. Do you think you can build the whole system in two weeks? I don't. I think you'll be lucky if you have an agreed functional specification after two weeks. The actual programming and testing is going to take much longer. That's right, testing. It'll probably take about two weeks to write the test plan and test cases before you even start the testing and fixing the bugs you find. But that's definitely not something you can skimp on. I mean, a POS system that randomly forgets about sales tax (for instance) could probably land you in prison.
Then there's the credit card readers. I can't imagine that Mastercard is going to just let you connect a credit card reader to a PC running some random software that you wrote. There's got to be some sort of certification process which will likely cost you some money.
Any time that you write software that deals with money, you are in for a world of pain. I think $5000 is a bargain considering POS is relatively specialised.
I know there are loads of open source projects out there that are far more complex than POS (e.g. Linux, Apache, all the GNU stuff). The thing is that the people who work on them are volunteers and do the work for nothing. They actually like contributing to the project because they are interested. There may well be people out there interested in writing POS software that you could take advantage of and pay them nothing to save you $2K. However, because they are interested, those people have probably already written the POS system so your best bet is to find an existing OSS POS system and use that, as others have suggested. Or you could stump up the cash for a commercial system. In your position I'd go for an out of the box commercial solution with hardware and everything. Starting up a new business is hard enough without worying about whether you can reliably take cash from your customers.
All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
I can speak directly to this problem
About 2 years ago, a friend and I were asked to quote on a project by a small businessman (he had about 8 shops) we knew but we couldn't get the numbers to work for us, while also making it cheaper for him. (BTW both of us know POS pretty well and have worked on commercial developments in the past.)
The basic problem is volume. The proprietory vendors (there are only a few left) essentially give away the software and make money on the hardware and software support. (And the software is _very_ feature rich these days).
So if you're being quoted at 2-5k per store, you're probably getting a reasonable deal - at least compared to paying for development yourself. Although you speak of "low cost" hardware, I think you need to look at how quickly the costs mount up.
For example, a single station will require PC, touch screen, cash draw and receipt printer, plus optional barcode reader. You're already pushing well over $1000. If you then want to integrate your bank's POS, they'll want to test and certify your hardware and software setup to ensure that it doesn't screw up their payments system. This is not particularly onerous and they'll help out, but it is time consuming.
For one or even a few stores its not worth doing. What the existing vendors are doing is amortizing their software development costs across many customers, getting volume discounts on the hardware and taking a margin there; and lastly making their real margin on the annual support and licence fees.
Having said all that, it's not clear to me what you really want. Do you want someone to a.) develop a new FOSS POS solution from scratch, or b.) integrate and install it for your own business?
You could support a.) better by donating or participating in one of the existing projects (check sourceforge and google I can't remember what they are now). Starting from scratch will take too long and cost too much.
If b.) is what you want you might do better to partner with a local developer team - provide the hardware yourself and pay them separately to do the integration and support; allow them to take the software away but insist that it all be FOSS so that they don't tie you in to long term support contracts. If you do that, then you can reasonably expect to negotiate a low fee for the development work as they can make the money back on subsequent work and support with other people.
b.) was the option we offered to our friend, but he wasn't interested in the hassle as he wanted more of a turnkey solution. If you're prepared to do it, then more power to your arm sir, you certainly have my support.
I'm glad you're not an idiot, but even smart people do idiotic things from time to time. As for me, I'm an idiot who every once in a while does something clever. We all have to live with our limitations.
;)
At any rate, I'm going to have to stick with my original advice. It's great and altruistic and all that you want to create a whiz-bang open source POS solution. Your heart is in the right place, but your head is not.
Wait until you see a lot of black ink on your financial statements. Wait until your business requires only 40 hours per week from you.
Starting a business takes everything you've got. I know so many people who tried to start this or that type of business and just get bogged down in some irrelevant project. I know one guy who was so convinced not to hire an accountant that he got stuck researching the optimal type of corporate entity to use, then he got stuck learning basic bookkeeping, then he got stuck learning tax accounting. Meanwhile, he never made a single sale. Ever.
I know a lady who started a jewelry business and she had two lines. Her first was wildly successful, but she decided to pour everything into a second line while neglecting the first. Oh, sure, the company is still in business. But it is bleeding red ink everywhere. It's only afloat because her husband is a partner in a law firm. I can't believe he hasn't pulled the plug on this yet. It's easily a 6 figure loss for them.
I could go on forever. The point is, concentrate on what makes you money! This POS idea is going to take you thousands of miles outside of your comfort zone, and just as many miles off your business plan. It is going to cost many, many thousands of dollars. You will not be able to hire a few Indians to hammer this out over a weekend--cheap coders need perfect requirements and specs, which you will never have. Anyway, you do not want your business running on software that was hammered out by a few Indians over a weekend with ambiguous specs.
Lastly and most importantly, I wish you the best of luck with your business. And since it sounds like your mind is made up to get mired in this POS POS (ha ha get it?), I'll wish you the best of luck with that as well. Just promise yourself you'll gauge its progress with ruthless objectivity and pull the plug on it quickly.
They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
Actually, the OP didn't actually say he had any specific domain knowledge about POS systems. A domain expert is not the same as a client. It's very dangerous in this case to make that mistake, because if the OP really doesn't have much of a clue about POS systems (besides the superficial "list of peripherals it should interface with"), a programming team can't rely on him for anything more than interface-related desires. Hence, a failed project, because it's all a mess, because no one thought about bringing in a POS domain expert, who would likely be more expensive than run-of-the-mill OSS developers.
You're going to start a business based around commodity hardware *AND* commodity software?
You're not going to make any money. As soon as your B2B relationships are formed they can be broken again - either by your customers working out they can use your code for free (GPL rocks!!!) and buying their own equipment, or by directly enabling your competitors. The only way you're going to make money is by perceived vendor lock-in through "certification" of your POS device.
At least one portion needs to be only sourcable by you, or difficult for a customer to source themselves - using embedded boards (even if they are x86) for example. The PicoITX stuff is still rare as rocking horse shit and offers all the connections you might want. Putting it in a custom little box and collecting some "known good" peripherals would work. The entire solution (the words "inexpensive, off-the-shelf peripherals" had better not be in your product brochure) is your sales pitch.
The only way commodity hardware and commodity GPL software works for you here is that it will become impossible for your customers to steal your software and go it alone without contributing their work back to the world; but that doesn't mean they have to particularly make any effort to work with you once they have kicked you and your support contract into the dust.
What you need, then, is a morally pristine customer who is lazy, and everything will work just fine. They'll pay for everything.
As usual, all this bullshit about how impossible it all is. Let's not kid ourselves here. The number one demo program for about a dozen Visual Basic 4 for Morons was the restaurant POS with a VB front end and FoxPro on the back end. This was a helpful tutorial from a textbook writers perspective because it allows you to introduce relational database concepts using concrete examples. You just know that those exact same principles are still at work in the closed source $5K packages. The only difference is they're running on XPee which features this major upgrade called Windows Genuine Advantage(TM). Whoopdeefreakingdoo. As Bill "Charity" G Money is so fond of saying --pay up bitches! Ten to one half those overpriced packages are still shipping Foxpro.
And now we have all these jokers in this thread who probably got their start in those same dumbed down tutorials talking about how so-phisticated it all is. Not only that, it's tedious. Whaaa! Cry me a river you whiners. Way to go on proving that guy who warned about paying people to stare at themselves in the mirror and post to Slashdot.
A POS is not freakin' brain surgery. Commercial POS systems go down all the time every day in every retailer in the world. You know what the cashiers do when that happens? Wait for it . . . they ring it up by hand! Oh my fucking GOD! You're kidding me? That's unpossible!
No really, you're trying to tell me that every time a product doesn't scan right at the dollar store they're waiting for an emergency response team from NCR to rappel through the roof from their fleet of support helicopters? Yah well maybe you guys don't get out much. I don't either but I've been around long enough to know that a POS is classic one-off project.
We've recently started microPledge, which is designed to fit just this scenario. It's new, but we think (we're biased :-) that it's better than RentACoder and the likes, and we encourage "on-shore" content. The idea is to start a project, open source or otherwise, get pledges ... and developers can quote to develop it.
Feel free to check out the Springwise write-up about us, or our website, micropledge.com.
-Ben
The hardware companies views the GPL as a way to sell more hardware. Unless you are selling the hardware you can't make money off GPLed code because the person making the hardware could easily undercut you.
If all you want is one pc, and limited functionality, its quite easy. You basically emulate a simple cash register. You get a keyboard wedge type of bar code reader, you do a quick gui to allow lookups and pricing, which you model on a shopping basket. Use a keypad for data entry. Use bar codes for the control functions. Export your data as a text file, and then process it offline. Use opensource barcode software for your own code and label generation. PythonCard would be a choice, or one of the other simple Python gui generators.
However, there's a whole bunch of stuff you are not getting. You will not be able to interface with a merchant acquiror for credit card info. You'll likely end up booking in goods on a different copy of the database and keeping the two in synch while possible requires care. You won't have networking. If what you are doing it for is a small business with (for instance) one station, a few hundred stock codes, a few tens of thousands of transactions a year, it is possible. You can even do the reporting and accounting stuff in Excel or Filemaker or OO, but they are limited in terms of the size of files they will do efficiently. You will not get any real level of fraud prevention. You probably will not want to implement log ins and personal staff tracking.
When you start wanting multiple stations, large numbers of transactions, touch screen, staff tracking, handovers with cash register balancing, direct interface to credit cards...lots of discounts, complex tax accounting, that's the time to buy in. The time to write your own is when you perhaps positively do not want or need this sort of stuff, but for whatever reason want to keep it minimalist.
I basically agree that if you are wanting to get a real POS, buy it in. But there are some occasions when people want a screen based system that is much simpler than what's available commercially. If you want an electronic cash register which is easier to use and with screen based functions, don't be afraid to write it or get it written.
Remember that complexity of the coding rises as the square or cube of the functionality.
http://dhpos.com/pos.htm
Also, see links to POS hardware
you are going to have a collision of data models if you try to make this entirely separate.
One of the approaches LedgerSMB has chosen to take is to move all data logic into the database. This way, any add-on can use and extend core accounting logic.
You should join our project. We are on the same track as you suggest. It may be about a year before we are fully there, however.
LedgerSMB: Open source Accounting/ERP
Those questions were include as examples among many. I should have been more clear. BTW Reading the card is only the beginning of that problem.
You expound on the hard ones at the beginning. (What all does a POS system do in your mind? Does it talk to inventory? Accounting?)
In any case it will take more then two weeks just to figure out exactly what the POS system will do and what hardware it will support.
Anybody who thinks they will code this up over a couple of weeks has obviously never worked on anything non-trivial.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
of moving the logic into the db.
You can use any language you like to write the code that integrates with LedgerSMB. This decision actually came about because we kept getting requests from contributors for an interface for Python. The upcoming 1.3 will have the new framework and some components moved to it. 1.4 will have all the financial logic moved onto the new framework. 2.0 will be when the legacy code is out.
Most of the code will be written in PLPGSQL (since really, nealy all of what you are doing is storing and retrieving information). Stuff that doesn't fall into "give me a set of information such that..." or "store this in the db..." will be handled in Perl with possible interfaces from the db for other components if they represent data logic.
Best Wishes,
Chris Travers
LedgerSMB: Open source Accounting/ERP
Efficient workflow. If the workflow is not efficient you will run into trouble,
LedgerSMB: Open source Accounting/ERP
What is the problem?
What is your solution?
What is the solution's emotional attachment to customer?
Slashdot = Sarcasm
Is he starting up a business selling German pr0n?
To have a right to do a thing is not at all the same as to be right in doing it
If you have a strong financial backgound, and are able to do support/implentation, you can sell that effort, and lend your expertise to the project by helping us provide what your customers need. Yes, there are ways to make money. You have to know what you are good at and sell that with confidence :-)
LedgerSMB: Open source Accounting/ERP
I haven't used the POS portion, but OFBiz is a very flexible open-source project that does include POS.
I've used other portions of the project and once past the learning curve, it's great!
If you want a current software company that can sell you a POS solution that's built around GPL software, I'd suggest you have a look at http://www.vigilant.com/
They'll setup a COTS PC with all of the POS hardware, it'll run Linux + their POS software, and you'll get support.
Shoot the officer who suggested it.