At some point, I started blaming myself. My client has always made it look like a small thing. He even showed me proof of some guy that built x in y weeks.
How do you control outrageous expectations from your clients?
The question you should be asking is this; how long have developers been working on WordPress + Woocommerce. We are talking about years of active development by probably tens of developers.
You can build whatever under a very short while but I doubt what the quality would be.
They want the same features as wordpress+woocommerce without the licence restrictions. This means I cannot even reuse codes from the core of those projects.
[quote]
If I distribute GPL’d software for a fee, am I required to also make it available to the public without a charge? (#DoesTheGPLRequireAvailabilityToPublic)
No. However, if someone pays your fee and gets a copy, the GPL gives them the freedom to release it to the public, with or without a fee. For example, someone could pay your fee, and then put her copy on a web site for the general public.[/quote]
Also
This is what they are avoiding.
Basically, software that includes any GPL code automatically becomes GPL too.
@sarutobi87 I am sorry to hear about your situation. I run into your kind of situation very often. In every case, the client asking for this kind of work is not very educated about what it takes to build software and how it works. Even as developers ourselves we are bad at estimating how long something will take to build or the complexity of an app, usually because it is easy to judge the complexity of software based on how easy its features look on the front end, so can you even imagine the disconnect for a non-technical person? Unfortunately, it is your job to enlighten them and bridge that gap.
Here are a few steps that may help you:
Take inventory of woocomerce features, spend a day or two combing through the entire system and cataloguing its capabilities
Take each feature and estimate how long it will take you to complete. Be generous here, giving yourself the shortest amount of time (best case scenario) is a trap.
Talk to your client again, do not mention steps 1 and 2, but ask them about what it is they really want from this woocomerce clone. Ask them for the minimum viable product. Ask them if there could be only one thing this clone must do what will it be. A lot of the time, they will name 5 of the biggest features. Resist, ask them to narrow it down, or from what they are saying, deduce what problem they are trying to solve and reach and understanding.
Armed with this new information, go back and plot the smartest path to execute this project using the catalogue of features you have made and knowing what is most important to them.
Go back to them, be transparent and telling the truth.Tell them their expectations are unrealistic, in the nicest but most straight forward way you can think of. Explain to them that Woocomerce has several years of development under its belt with several developers on it. Explain that replicating this is months is not feasible and any developer or group of developers that tells them so are liars.
Explain to them the alternative route you have come up with, and a reasonable roadmap to get to where they want to go.
Be ready to lose the contract, even though you have done great work and have been honest, your client might still look at you as incompetent and pull the job. This is ok, you are already in a lose lose situation, you do not want a job where the odds are already stacked against you to fail, you will lose reputation and you will be unhappy with your work and your life during that period. So be ok with losing the job, it will be better for you.
If you do continue with the project, make sure you have a winnable scenario, make sure it is under terms that you are comfortable with. Communication is key here, the more you explain the situation in plain English and analogies the better off you will be. Do not use big words or complex terms to make the job sound hard… the job is already hard. Explaining it to them in simple terms will make it so much clearer the madness they are asking of you.
You are absolutely right. Looking at woocommerce from the frontend makes it look like an easy job but if you take a look at the source code you will appreciate what the guys at woo have done.
Hi sir.
Behind simplicity there is complexity, explain to your client the complexity behind the simplicity. In this case its better they have an inhouse developer to work on the project.
That’s the *ish with employers and clients. Deadlines, deadlines, deadlines. Anyway, I think 2 months is enough for you to get it done even as a single developer, though this depends on how much time you can dedicate to it and your wealth of knowledge.
Many of the posters on this thread seem to disagree with you on the timeline.
I personally don’t think a single developer can achieve this in 2 months irrespective of the amount of hours or knowledge dedicated to it.
Remember that i also mentioned that we cannot use external libraries that have restrictive licences. This applies to many open source libraries.
So User Management, Authentication, User Authorization, Payment Gateway API, Front End, Admin, Cart System, Robust Inventory Management etc will be built from the ground up.
Take a look at the woocommerce product source code and see how it manipulates addons, attributes and product variations. This alone can take a whole month to build from scratch.
But as i earlier said, maybe a pro coder can do this within a very short time. I don’t think I can.
They want to sell the software.
My advice is… Just pull out.
Why? A non-tech person wants you to build a software so he can sell. There are so many ways this will go wrong. Say you manage to do this in 2 months
who fixes the inevitable bugs?
Who maintains the code?
What happens after 3 years and it’s no longer up to standard? Who updates it?
These are things he will obviously not understand so don’t start something that will truly never finish.
Later he starts calling you saying that you did terrible work.
Do you want that?
Frankly, I won’t start such a thing if I’m not in it for the long haul.
Also, he shouldn’t start this without a developer by his side.