What is the Best Way to Start a Paid GPL Project? 231
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?
Success = Strong Leader + Initial Codebase (Score:5, Insightful)
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
Simple (Score:2, Redundant)
Hardy har har.
Re:Success = Strong Leader + Initial Codebase (Score:5, Insightful)
renta-coder too. (Score:4, Informative)
The issue with spaghetti may also occur with RentACoder. Spaghetti code is not just an offshore option.
Success = sound business model (Score:2)
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 approxim
Re: (Score:3, Insightful)
That said, there isn't much difference between this and the browser-based kiosk solutions that are also available.
Re:Success = sound business model (Score:4, Insightful)
His interest is apparently in using $2000 to $5000 to pay other people to do a GPL-licensed POS software system so his money won't be locked up in some unresponsive closed-source POS software vendor's accounts. He's trying to be a good business and OSS citizen by competing on the core of his business and cooperating in the portions that are ancillary and supportive. The POS software one uses is rarely a competitive advantage in retail. Pricing, customer service, marketing, location, and potentially how you tie your POS and warehouse systems together are much more important than the POS software itself.
Of course, supporting the software might turn into a secondary revenue stream, or it might be the kernel of a start-up for someone else.
Re:Success = sound business model (Score:4, Interesting)
Or, better yet, it could be something he could recruit other businesses into supporting with some cash, so that it increases the odds that he (and the others) will get a quality piece of software ("QPOS"), and that the coders will find a market for books (like "QPOS Unleashed in 24 Hours for Dummies: The Missing Bible in a Nutshell") and for support/customization contracts, thus possibly reducing their demands for cash.
Re: (Score:3, Interesting)
Don't muddle your business model (Score:5, Insightful)
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.
People always underestimate how much (Score:4, Informative)
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).
Re:Success = sound business model (Score:5, Insightful)
I would not bet on this. If a piece of software is central to a business, they will want reliable support before commiting to that software. A smart business might just hold off until professional contracted support is available.
"If you're expecting to make money just by developing and supplying open source POS software, you've got the wrong business model..."
Right, unless you go into the bespoke and paid up front angle.
I also still feel that there is hugh untapped potential in Association funding.
National Retail Merchants Association? Local Chamber of Commerce? National Locksmiths Association? How much could they benefit their members if they charged $5 extra for membership and used that to fund Free Copyleft (GPL) programs that would benefit their members / industry?
There is money to be saved with this idea and the old saying of "a penny saved is a penny earned" still makes sense.
all the best,
drew
http://openphoto.net/gallery/index.html?user_id=178 [openphoto.net]
Underwater Fun
Re: (Score:3, Funny)
Re:Success = Strong Leader + Initial Codebase (Score:4, Informative)
Not only that, but your chances of success go up markedly if your codebase is (a) functionally complete enough to be immediately useful to many users *very* early on, and (b) highly modular, so that where a feature *isn't* available, it's worth more to the potential developer to write a new module for your codebase, rather than to start a codebase of their own.
There's a great Harvard Business School [hbs.edu] paper on this topic. Game theory and all. A mathematical proof about why projects like Drupal expand dramatically, and why projects like OpenOffice rot.
--a different Greg
Re: (Score:2)
All the successful Open Source projects that are HIGHLY successful have a niche that was filled but with proprietary software. Apache, Linux, CMS even OO.org, all of them replaced existing proprietary software with versions that were needed by a larger community.
Start by looking at proprietary markets that aren't being satisfied by expensive Proprietary software
$2000 to $5000 isn't expensive enough? (Score:2)
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 to
Re:$2000 to $5000 isn't expensive enough? (Score:4, Insightful)
A small proprietary storefront may only want POS at the moment, but in six months of success will change that. Then you have to change POS software because it doesn't tie in with the new inventory management software. Six months later they'll want CRM, then payroll, then AP, then
Which brings me back to my point, it isn't as easy as it looks. I'd like to see an open source modular accounting system that didn't suck. Only install the modules you need, where each module stood on its own and/or GL module.
Then tie it in with a Web Interface and online shopping cart
I'd love to be a project manager for such a challenging project. CRM, Accounting, POS, Online shoppiping cart
Re: (Score:2, Informative)
In the future I would like to add backoffice functions like accounting but keep everything as module as I can. If people want to use Quickbooks they have that option. However I woul
Re: (Score:3, Informative)
$2000 will buy you (Score:3, Informative)
This is an expensive area. And it is one where timely support is absolutely critical, as is database performance, and the like.
Re: (Score:2)
What accounting system are you going to use?
One of the benefits of a POS is integrating it with your accounting system.
Here is at least one to look at. http://www.phppointofsale.com/ [phppointofsale.com]
I am not a big fan of POS as a web based application but this one is pretty mature.
A simple POS system is an easy project. Adding things like credit card processing makes it a lot more complex.
Re: (Score:2)
Re: (Score:2)
(Sorry, "first off" made it impossible to resist.)
Re: (Score:3, Interesting)
"In terms of opportunity cost, you'll likely spend that same $2-5k making a custom solution."
The $2-$5k quote is the average per terminal that I kept getting back from requests, not including backoffice functions and other additions I needed. I have already purchased a closed source solution ($xxk+) since I don't feel like running alpha code in a business environment. However, I would like to mitigate these costs
Join LedgerSMB (Score:3, Informative)
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
Re: (Score:2)
Just out of curiosity - how many of those sucessful projects were ones near-and-dear to geek heart
Re:Success = Strong Leader + Initial Codebase (Score:4, Interesting)
I started my business a few years before the fork, with the aim of helping businesses use open source software. We did a number of SQL-Ledger modifications and then the author of the software decided to see me as a burden instead of an opportunity. I ran into a lot of issues with being silently removed from the email list many times, and eventually mostly focused on attracting business through the wiki (I used to run the SQL-Ledger Wiki).
At one point, I was working on a customer's SQL-Ledger instance and I discovered a privelege escallation issue which I reported to the author and got no response. Six months later, the issue was still unfixed and so I did my digging an discovered it was no privelege escallation issue but really an authentication bypass problem. I argued with the author some more but let it go (as I felt like I didn't have the time or energy to run a fork).
Nearly a year after I brought the issue to the author's attention, I finally realized I had to fork because it wasn't going to get fixed. Josh Berkus introduced me to CHristopher Murtagh and the project was born. LedgerSMB was a fork which was mostly mandated by a requirement that I help support my customers, not a hobby project or anything like it. Now we have 3 additional people on the core team, and have released more than 15 releases in the last year, and our userbase is growing by leaps and bounds.
In general, I would suggest that the key issue has to do with having software which is either interesting to geeks or needed by consultants, and it is critical that one build the community around the software.
Re: (Score:3, Funny)
Re:Success = Strong Leader + Initial Codebase (Score:5, Interesting)
I worked on a new POS for a fortune 500. There were a ton of requirements both from our side (programmers) and the hardware side (admins). It was actually one of the coolest projects I worked on in the last 10 years.
I got to really understand the needs of the admins as a programmer, and they got to see the reality of software systems. We (programmers) made compromises and they (admins) made compromises in the system.
The "simple" POS had to be fault tolerant. If if could not send back a transaction to a master server, it had to store it. One it could talk to the master again, it could send the transaction. This had to be done across a few thousand locations. The systems needed to be self "healing" (manager speak), we made them self updating by asking a master update server over frame relay for a version, get back an XML file and self-update from there.
There were a sh!t load of other requirements we had to handle on the software side like SOX, etc. The final POS was anything but simple. Oh, and the admins has a crap load of work to do as well. Those guys worked their @sses off to get each location secure and plugged in to our AD server, our Netegrity server, etc. Our software or POS system handled the AD and Netegrity communications, but there was a lot more for the admins to do then it seemed at first.
So, yeah, I think most programmers and admins would find implementing a real POS systems a good challenge. I know I did.
Re: (Score:2, Insightful)
Re: (Score:3, Informative)
Take some old, small form factor PIIs and any modern server and you're in.
Linux Cananda has a Linux GPL (and commercial) POS (Score:5, Informative)
http://www.linuxcanada.com/pos.shtml [linuxcanada.com]
I am not affiliated, just been aware of them for 3-4 years now.
Re:Linux Cananda has a Linux GPL (and commercial) (Score:2)
Re:Linux Cananda has a Linux GPL (and commercial) (Score:2)
In any case, they are nice products.
Re: (Score:2)
Yeah, and I think their lead in that area is insurmountable.
Before the jokes start (Score:5, Funny)
Re: (Score:2)
Re: (Score:2)
POS for coops, but it is a good start (Score:2, Informative)
Oppertunity Cost and Security (Score:5, Insightful)
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.
Re: (Score:2)
When I visited Tokyo in 2004, there was a Wendy's restaurant that had cash registers with bill acceptors. I am not sure what the reason was, but I assume to deter or reduce employee theft of a bill here, a bill there. OTOH, it might have been an anti-counterfeiting scanner to immediately reject bogus bills, forward the phony serials, and maybe even activate the security camera to shoot a
Re: (Score:3, Interesting)
I would bet a whole lot more. In fact I got a whole lot more when I designed a POS for a retail chain
Depends (Score:2)
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....
Re-inventing the wheel (Score:5, Informative)
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 [freshmeat.net]
Re: (Score:2)
don't need no noob for such a project. (Score:2)
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.Documenta
Customisation (Score:4, Informative)
Re: (Score:2)
Re: (Score:2)
The main complaint has to do with making a lot of money on other peoples' labor, which is an entirely different thing.
In that case, you want to sell products, not professional services.
Re: (Score:2, Informative)
Re: (Score:2)
However, I think you should re-think the money side of it. There really is a lot of money to be made in open source POS solutions both in terms of development and in terms of implementation. If you can make money by shipping systems and implementing them, you can pay developers to add things you need to add.
The LedgerSMB project
Don't (Score:5, Insightful)
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.
Re: (Score:3, Insightful)
Programming take training, and writing a POS invlves understanging issues you haven't even thought of.
Even if he funds one, like he's saying, he'll still be the driving force for it, and all the specs will come from him. There are aspects to programming everything that seem simple from the user/admin point of view, but are anything but simple from the programming point of view.
Re: (Score:2)
hmmmm (Score:2)
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), an
Pointy-haired management, check. (Score:4, Insightful)
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 [google.com] 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!
Re: (Score:2)
What scares the daylights out of me is that I see a good number of them running 98 and even 95!
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
As funny as it seems, it makes perfect sense. This is cash money we're talking about. If a system works, there is NO REASON AT ALL to "upgrade" it. Why do you think IBM is still selling big iron mainframes? Because mission-critical systems run on it, and have been running on it since almost back to ENIAC, and there's no way to tell the customers "Oh, please don't buy widgets from us for a couple of months whil
Re: (Score:2)
Just with the security upgrades alone I would have recommended upgrading to at least Windows 2k a long time ago for any mission critical system.
Re: (Score:3, Insightful)
honestly all the good stuff nowdays is running Embedded Xp or other embedded system and does not have a PC in it wasting money but a smaller SBC doing what it needs for the Point of sale job all in a nice stand monitor with card swipe on the side and sitting on the cash drawer.
although the article's author did not look hard at any of the systems out there. if you want the bottom feeder in cost Quickbooks has a turnkey sys
Re: (Score:2)
If that was all that was said, sure Troll, or maybe Offtopic would be appropriate. But the rest of the above post was pretty Informative/Insightful.
OK, rant over, mod me Offtopic now please.
Re: (Score:2)
Personally, for what it does, and how reliable is has to be, $5k isn't bad for a full POS system. Actually f
Not everybody needs a touchscreen (Score:2)
In a retail environment you want to input all your data using a barcode scanner and keyboard anyway. Touchscreens not o
Re: (Score:2)
What happened to Google? (Score:2)
Re: (Score:2)
Many POS offer a simplistic timecard for very small businesses. Generally it needs to be sophisticated enough for a bar/restaurant to u
What about the training? (Score:2)
Lots of things could come up that would rapidly blow your budget.
Re: (Score:2)
Some POS systems still just ship a 3 ringer binder that an new employee is supposed to figure out. But I believe that is no longer sufficient, especially considering that many POS operators have a poor grasp of the written language. (no offense, just that a lot of drop-outs become bar ten
Re: (Score:2)
Every attempt I have made at working with L-ane has been a maintenance nightmare.
Piece Of Shit (Score:2)
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".
You get today's creative context stripping award. (Score:4, Informative)
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.
Support? (Score:5, Insightful)
Re:Support? (Score:5, Insightful)
My first IT job was managing the POS system for my dad's restaurant. Given this was 1989 and everything would crash and burn if the dot matrix printer jammed during the nightly reporting run.
Still, with all the niggling little problems, that whole thing would have bricked within a month without a support contract.
My favorite little quirk of it was that when you logged into the system for the day (it was also the time clock), at the end of the process, you pushed the "print" button instead of the "enter" button. That was because at the end, it was supposed to print your daily ID code.
That was very non-intuitive. So, one day I get calld down to the restaurant floor from the admin offices upstairs. One of the terminals has locked up. One of the wait staff tried to log in, but the machine keeps giving them this error code that they've filled up the screen with. Half of the wait staff and even one of the cooks is at the terminal, trying to figure it out. To show me how the error message keeps coming up, they hit the "enter" button a few times.
I say "remember, when you're clocking in, you hit the 'print' button at the end, not 'enter'." I hit the "print" button, the screen clears, the waitperson's daily code is printed, and the terminal is back to normal.
Remember that POS is a mission critical, live-fire production system. If it crashes or starts hiccuping, you're looking at lost money, lost productivity, etc. You're looking at half your staff gathered around it, giving unhelpful suggestions and asking dumb questions until the person who knows how it works can fix it. Thats why, even with 20+ open source alternatives, closed source flourishes. No matter how good the open source project is reputed to be, if there's no local vendor who can provide timely on-site support, there will be a lot of businesses who want nothing to do with it.
- Greg
Re: (Score:2)
Fuck you, you fucking racist twit. Any "point" you were trying to make is now lost, thanks to this unnecessary redneck 'jab'.
Racist twit? Let's look at the dictionary.com entry for "niggling" [reference.com]. Not one entry states that it derives from the word you apparently think it does. And if you go to the Online Etymology Dictionary [etymonline.com], it states the word most likely derives from a Norwegian root with no relation to the word you were thinking of.
I would cite t
Anything with the complexity of a POS terminal (Score:2)
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)
Creating a POS is easy! (Score:2, Funny)
PCI-DSS / PA-DSS (Score:5, Interesting)
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!
Realistically... (Score:5, Informative)
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
I have to second the parent (Score:4, Insightful)
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.
Re:Realistically... (Score:5, Informative)
I'm talking from a first hand experience, since I've been working on a Java POS solution for past 18 months. I'm a part of a new team of 6 developers dedicated to this project. The company has been (continuously and successfully) in PC POS business for the past 15 years. We are replacing their legacy DOS application. Here are some lesson we learned (some are POS specific, some are valid for enterprise SW development in general):
1. We couldn't have done it, if the company didn't already have extensive experience in this market. Programming experience is not enough, one has to know the market and customer expectations. PC POS is a tough market with a lot of competition that has been around for ages (lately including Microsoft). You can not get by with an amateur product.
2. Forget about the low-end off-the-shelf PC hardware. POS needs reliability (every hour of down-time means real money lost + getting a bad name with customers). Go for all-in-one specialized POS systems. They start at about $1500 (+options).
3. POS market needs support, even if some inexperienced first-time merchants think otherwise. Prepare some support plans and people to do it.
4. Store owners/managers put A LOT of emphasis on controlling their own staff. All serious POS systems are concurrent multi-user enabled (multiple users logged-in to application at the same time with fast GUI switching). RFID dongle for every user is what really works in the end.
5. You will not be able to customize the application for every small customer and their POS process. A lot of times you will have to teach them best POS practices and have this supported in the application. However you will have to bow to the bigger customers and customize the application for them. Result: you will end up with a lot of different sub-versions of the application. Bug-fixing and upgrade process is going to be a pain. Plan for it before all this starts.
6. Sales people will always sell features that are not there yet or are impossible to produce (due to technical or cost constraint). Train sales people to check with you first.
7. Have people that are not developers test the application before release. Testing your own code virtually means nothing. Once you release it to the customers you'll be amazed at how many bugs they can discover. As if all the unit testing and hand testing was in vain (it is not, continue with unit testing etc)
8. Write comments and API documentation (javadoc or equivalent). I REALLY MEAN IT. I often find myself wondering what a piece of code is doing, just to discover that I wrote it 6 months ago.
9. Do not write UML or any other developer documentation that is outside of code. It's just additional work that is always out of sync with code. And it only makes PHBs happy. Only exception to this rule is a short architecture overview of max 10 pages - this will save your time when new developers arrive on the project.
10. Choose a good IDE and be willing to pay money for it. Good IDE is much more important than a good car! Some developers I know are you willing to spend obscene amounts on a car but nothing on an IDE. You can always get a cab if your car lets you down, but IDE.. Again - this is no place to save money.
11. You should already know this: you need a versioning control system and a continuous integration system. Go with open source ones - they just work.
12. Automatic update system for your application is A GOOD THING. Selective (forceable, with consent) update per customer is even better. Try to stage updates - update first customers that are close to you (in miles and mentality). If all works well, roll out to everybody.
13. In case of troubleshooting a remote connection (VPN, RD, SSH, whatever..) to customers computer is worth a lot. Try to plan this upfront.
That's about it. Good luck writing your own POS application, just to save $2k.
And next time you need a new car, just build one.
Re: (Score:3, Informative)
So... (Score:2)
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 yours
scale (Score:2)
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 y
You're not reinventing the wheel (Score:2)
Thread for those interested in participating (Score:2, Interesting)
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, d
Penny Wise ? (Score:5, Funny)
Re: (Score:2)
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.
Hey, it worked for Clerks!
Are you sure? (Score:2)
This is noble, I suppose, but ... consider that there are several F/OSS POS projects under the GPL already (and probably more under other F/OSS licenses): frustration that all you could find that met your immediate needs was commercial probably isn't a good motive for wanting to see better development on those, but why a new project? Unless you've got some stunning new approach in mind that isn
Ready To Start (Score:2, Informative)
Been there (Score:3, Interesting)
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.
Don't be an Idiot (Score:5, Insightful)
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.
Re: (Score:2, Informative)
Shameless plug (Score:3, Interesting)
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 communi
I'm glad (Score:5, Insightful)
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.
Unfair to E-m A-C-s? (Score:2)
Then again, some of us don't want an operating system that thinks it is a text editor....
Re: (Score:2, Funny)
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 ca
Re: (Score:2)
Wrong questions (Score:2)
How does a computer kick open a cash drawer?
This is cash-drawer dependant but not really complex. Most of these involve sending commands to the receipt printer or serial ports.
What about CC and ATM cards?
Get a card reader that pretends to be a keyboard. That is easy.
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.