
Introducing Opencall - scottybowl
I&#x27;ve been bootstrapping a tech start-up for the past year (having spent $25k+ on development of our platform plus all the other expenses that come with setting up and running a business) and last week a major competitor entered our niche market.<p>The money for the start-up was coming from my own pocket and funds were&#x2F;are running low - it was crunch time, do I throw my last remaining cash trying to catch up with this competitor, or do I shut down.<p>I asked advice from a number of different sources, and the overwhelming response was to pivot the business by open sourcing and selling services around the platform such as hosting.<p>After a long weekend of thinking, designing, planning and building, I give to you:<p>* Opencall http:&#x2F;&#x2F;www.ocall.org<p>* GIT Repo: https:&#x2F;&#x2F;github.com&#x2F;calltrackingasia&#x2F;opencall<p>It would be great to hear your feedback and to find out if anybody would be interested in becoming part of the project.
======
vcherubini
You have some usernames and passwords (to what looks like production servers)
sprinkled throughout your app. May need to change those ASAP, wipe your
history, or something.

Lots of suggestions:

* Don't write your own cron scripts, use Symfony Commands.

* Delete the Acme Bundle.

* Don't store your vendor directory in Git! Completely unnecessary and waste of 47MB.

* Don't commit parameters.yml, that's what parameters.yml.dist is for.

* Use a migration tool (Doctrine Migrations are fine) instead of one big SQL dump.

* Not sure what mongodb/example.php is for.

* Why is all the plivo stuff in web/plivo/ instead of being a callable controller?

* Are you manually generating your Doctrine entities?

* Don't commit your asset directories (they should be symlinks).

* No need to use PHPMailer (or include the entire project in your repository), Symfony comes with Swiftmailer which is great.

* Same with src/Phone, add that library through Composer ([https://packagist.org/packages/practo/libphonenumber-for-php](https://packagist.org/packages/practo/libphonenumber-for-php)).

The design looks great, but I wouldn't trust a lot of this (especially after
seeing how many hosts and usernames and passwords you left scattered about).

~~~
elwell
> Don't store your vendor directory in Git! Completely unnecessary and waste
> of 47MB.

I find that it simplifies versioning as well as making it so you don't have to
download individual dependencies. What is your suggestion otherwise?

~~~
Tomdarkness
There is a composer.json and composer.lock file in the repository. All you'd
need to do to download all the dependencies is have composer installed and run
"composer install".

~~~
MichaelGG
Thus making your application build process require full Internet connectivity,
and making it require that every dependency hosting site is working.

Committing dependencies is a solid decision to avoid taking a dependency on a
bunch of third parties.

~~~
lstamour
"application build process" or simply the checkout process? I'd suggest your
deployment process shouldn't include a public git repo others can change.
Instead, use your own fork on Github, or alternatively host a git repo local
to your deploy network. After all, you're trying to avoid dependencies on
things like Github working/failing, right? ;-)

------
vladimirralev
I am in this business and I think the general execution seems reasonable if it
works as advertised. However you need to secure at least one big partner or a
few smaller ones. May be Plivo themselves, they should be interested to help
out promoting a good product based on their platform. You will need funding to
develop the whole thing into a unique appealing product with some
differentiators - some harder technical features, better artwork/UX if you
will.

My advice is don't put more cash into it for now, go talk to Plivo, talk to a
few call center companies see if anybody wants to be a partner on reasonable
terms. In the mean time look for a team and funding. Not freelancers, a few
guys part time, working for shares is better for VC.

~~~
scottybowl
Thank you - this comment is buried but it's excellent advice and I will be
taking it seriously. Currently chatting with one of the co-founders of Plivo
so watch this space :)

------
scottybowl
Just adding a comment to make it easier to click the links:

Opencall [http://www.ocall.org](http://www.ocall.org)

GIT Repo:
[https://github.com/calltrackingasia/opencall](https://github.com/calltrackingasia/opencall)

~~~
blister
Looks pretty sweet. Do you have a style guide for contributions? There are a
lot of low-hanging fruit here that would be easy for contributors to get in
and start making pull-requests.

~~~
scottybowl
Thanks - no I don't, any tips or resources on the best way to get this
prepared?

~~~
blister
I usually just start out with an existing style guide. Maybe take something
like the PEAR style guide [0] and distill it down to the basics. You basically
just want people to know how you want things formatted and what is an
acceptable structure for commits.

Looks like a pretty cool system. My products are all Twilio-based, so I could
see a lot of value in making your system telephony-agnostic instead of relying
on Plivo.

Sweet product though.

[0]
[http://pear.php.net/manual/en/standards.php](http://pear.php.net/manual/en/standards.php)

~~~
scottybowl
That's really useful, thank you. The system will work with Twilio if you
override the default XML responses when adding an advert, but for now that's
not built in so I haven't officially put that it supports Twilio.

------
dfc
If you can edit the post it would helpful if you included something to let
people know what the project is. Something like:

    
    
      Opencall: open source call tracking software
    
      Self-host your call tracking solution – own your data, cut
      your costs and track calls in any country.

------
yesimahuman
Any market that is worth entering will have competitors. Look at what you are
doing as a strategy not a last-ditch effort. Open source is a very valid way
to build a business in a market with entrenched proprietary competitors, and
it's exactly what my company is doing right now. I wish you luck, and go sell
some software!

------
gargarplex
Just another reminder:

In adult life, usually best to post from a position of strength, or people
will dump on you.

~~~
X4
Interesting that you think that, do you have any HN-Show examples to support
the point, or other sources? Not to be pedantic, I am really just curious.

------
martin_
This seems a lot like OpenVBX[0] just powered by Plivo, not Twilio[1]. OpenVBX
is also open source.

[http://openvbx.org](http://openvbx.org)
[http://twilio.com](http://twilio.com)

~~~
herewego
Seems like OpenVBX is a call router of sorts, whereas Opencall is call
tracking software. Similar, but different.

~~~
gcb0
so, this is a subset of openVBX?

------
bks
So here is the interesting thing. I am an ACTUAL user of this type of software
and a paying SUBSCRIBER to two different SaaS call tracking platforms. I run a
marketing agency and have almost 200 clients using call tracking on the twilio
platform.

Firstly - thank you! What an awesome contribution to the community. I cant
comment on code quality or license attribution but I can tell you that it is
an extremely valuable service.

I have not downloaded and installed your code, but I will - here is where I
see the market need these days, and its far greater than just source
attribution.

Google has done a great thing by encrypting searches, but it is terrible for
website owners and marketers because it is so difficult to prove ROI.

The place that we use using this successfully is by using the UTM source
information of a click to change the incoming phone number on the site using
dynamic number insertion - this helps clients have a justifiable ROI to
continue to use the service.

If you have questions about how I am using this, please feel free to let me
know - but kudos to you on building and open sourcing it.

------
einhverfr
A couple points.

1\. The advice to pivot and offer it open source is good. Kudos to you for
following up on it. This gives you some free marketing that you might not
otherwise get.

2\. It isn't quite clear to me how to integrate other telephony products based
on the discussion. If in addition to http, you could support either IAX2 or
SIP, this might provide significant improvements in terms of reachable market,
because you could integrate with existing soft phones and open source PBX's,
including both Asterisk and Bayonne.

Those two things strike me as being things which might increase your market
reach significantly.

~~~
scottybowl
SIP is currently supported on the outbound leg. Definitely the plan to
integrate with other telephony products and hopefully by going the open source
route we'll be able to make it happen sooner rather than later.

Thanks for the feedback.

------
mixologic
What _is_ call tracking?

~~~
scottybowl
In sales/marketing language: it allows companies to boost their sales & ROI,
reduce advertising budget wastage and optimise their teams performance on the
phone by tracking inbound phone calls from their customers.

~~~
mseebach
No, those are all outcomes. What does your thing _do_ to achieve those
outcomes?

I'm sorry to be so blunt, but if that's your elevator pitch, well, right there
is your problem.

~~~
scottybowl
It depends on who I'm pitching to - if I'm talking to a CEO of a company,
they're less interested in how it works and more interested in how it's going
to make/save them money.

What is call tracking? It lets you track statistics and recordings of inbound
phone calls (usually from your customers) so that you can identify trends,
strengths, weaknesses and understand the performance of your sales and
marketing campaigns.

Time of day, day of week, failed calls, total calls, caller id, caller
country, call duration, hangup reason - all these stats and more are
available.

------
isawczuk
IMHO (I'm just a stranger from internet)

1\. Call to action is hidden. Your goal it to sell SaaS service?

2\. Price comparing plans should be easier, less text more icons. ex.
[http://uxmovement.com/content/7-useful-design-strategies-
for...](http://uxmovement.com/content/7-useful-design-strategies-for-a-
successful-pricing-table/)

3\. Too many features. 3 features is optimum, 7 is max. (except selling to
corporation, then you need a datasheet). look at
[https://training.kalzumeus.com/newsletters/archive/enterpris...](https://training.kalzumeus.com/newsletters/archive/enterprise_sales)

4\. Products that do everything, are not successful.

5\. Who is your customer? Maybe put remaining money in advertising.

6\. Set it as beta and put on [http://betali.st](http://betali.st) or other
similar sites. Get more feedback, involve users, because you don't need one
time customer you need audience (loosely quoting rework)

7\. Where is competition there is a market. Competition is the greatest thing
on the earth. Maybe you could beat them with the best customer service ever?
Or with openness and community around your product? or your product will be
super easy with minimum features? or will not require hours of trainings

------
scottybowl
As my account is new I'm having trouble replying to comments ("You're doing
that too much!"). I promise I will reply to you all - thank you for all your
fantastic feedback and security tips. We've started implementing some of these
changes.

------
philfreo
Would be curious to see/know which major competitor you're referring to

~~~
entelect
Im sure a quick Google search will show you ;)

------
X4
hehe, your server is HN'ed :)

I'd replace the homepage (temporarily) to the absolute minimum during the time
it's bombarded with requests, unless you have a vserver/cloud-host that you
can scale up. Or change the server your DNS records point to, if you use
CNAME, to one at rackspace, github homepage, or anywhere else with a minimal
homepage. But I'm sure the guys @HN have better tips :)

I don't know much about legal stuff and licenses, but I would allow anyone to
use your software as long as it's code is shared, except for enterprises.
Companies who want to use it commercially and have more than 1-5 employees
would need to obtain a license. Open Source doesn't mean that you cannot put a
price tag on it.

But as you said, prepackaging the stuff as a deb/rpm and allowing white-
labeling for enterprise customers would be a good way get some money back from
this. Just saying, but you could, if you wanted to, add advertising into the
opensource product and disallow it's removal unless a license is obtained. If
you were an SaaS, you could collect data and metrics, that you could monetize,
but I'm glad you aren't anymore :)

@pg I think there should be a sticky informing website owners on howto react,
when their website is HN'ed. Somewhere in the footer of the homepage or so..
This is happening a bit too often and many aren't prepared for such high
traffic peaks.

~~~
jarofgreen
> Companies who want to use it commercially and have more than 1-5 employees
> would need to obtain a license.

> but you could, if you wanted to, add advertising into the opensource product
> and disallow it's removal unless a license is obtained.

That's not Open Source. The phrase Open Source has definite meanings and a
strict definition, and people have a set of expectations when they hear that
phrase. [http://opensource.org/osd-annotated](http://opensource.org/osd-
annotated)

Granted, you certainly can do what you are proposing, but

\- That's a very different business model from an Open Source one, as commonly
discussed and understood.

\- You really shouldn't call it Open Source. This is important beyond mere
pedantry as people spent a lot of time building up the Open Source movement
with strong principals, and we all benefit immensely from it. If we allow the
Open Source label to be ruined by things like this we will all suffer.

~~~
X4
@jarofgreen nice of you, but I think you got me a little wrong, or I wasn't
clear enough. My main message regarding opensource was:

> Open Source doesn't mean that you cannot put a price tag on it.

The other things could be done, but you're right, they don't fall under the
strict definition of opensource. It would require a different license :)

Oh, btw, the op should take a look at [https://pkgr.io/](https://pkgr.io/) and
[https://github.com/jordansissel/fpm](https://github.com/jordansissel/fpm)

------
ElDiablo666
Thank you so much for releasing this as free-as-in-freedom software! Since
this appears to be server software, I'd like to recommend switching to the
Affero GPL; its only additional requirement over GPL is that network operators
must release the source version they're using. This way, the software remains
free and no one can take your hard work and refuse to to share it with your
users. Good luck selling your services!

~~~
scottybowl
I wasn't aware of Affero GPL, will look into it. I've had some conflicting
advice when it comes to licenses. Some are recommending BSD as it's more
permissive (i.e. big companies can develop it in house without having to give
back to the community). From a business perspective, that might be easier to
sell to some companies, but from a community perspective it's not ideal.

Would be interesting to hear your thoughts.

~~~
jarofgreen
You will definitely get conflicting advice on this. :-)

AGPL/GPL:

If you do this people in the community may like this. But you will have
problems selling commercial licenses to people. To get around this, many
companies do a dual license model where you can get the code under AGPL for
free or pay for a commercial license. However, to make this work, you will
have to get all your contributors to sign a contributors agreement giving you
some rights. Some will hate this and won't.

BSD:

There is a risk that an outside company will take code and profit from it
without giving back. Some contributors will avoid because of that. But then,
no issues folding community contributions back into your commercial codebase.
Contributor Agreement much simpler and less controversial.

I personally went the BSD route for
[http://ican.openacalendar.org/](http://ican.openacalendar.org/) \- I like
simplicity.

~~~
belorn
It all depend on what one want to do, and what ones business model is.

Looking at the Opencall website, your are only selling it as a hosted service
and not as a product. Both GPL and BSD will allow someone to create a
competing hosting service and add any proprietary addition to it without
having to share it back. AGPL would make sure that any such addition is shared
back, so your business will always has access to improved versions.

Contributor Agreement is irrelevant since you won't need one if you just do
hosting.

~~~
jarofgreen
Contributor Agreement is absolutely relevant. If there is any chance that the
project will accept patches from random people then release those patches as
part of the core code base under a license .... you need a contributors
agreement.

Given that OpenCall is Open Source, this is very possible.

Good point re diff between on GPL/BSD and AGPL. Tho if I may add, AGPL will
only state that in writing. A bad company may break that, and then it's up to
how willing you are to get legal on them to enforce the AGPL. Some people may
be unwilling to do this, so this may play into the choice of license you go
for.

------
loci
The company I work for offers a service for Germany based customers where they
can register a calltracking number and get usage analysis - all for free.
Check it out if you're interested:
[https://heldennummer.de](https://heldennummer.de)

~~~
X4
Does it have any affiliation with lieferheld.de/ ??

 _The reason I ask: I hate their, and their competitor 's pervasive and mad
behavior, when it comes to pitching their own product, whilst DDoSing etc.
their competitor._

------
thawkins
I notice the only inbound telephony provider is plivo, do you have plans to
support asterix or dialogic.

~~~
bevenky
Plivo also has an OSS offering which is based on FreeSWITCH. So it could work
with that too.

Disclaimer: I am part of the Plivo team.

------
superlucy
Great stuff @scottybowl! You can test the system live by signing up and
getting a free number at
[https://manage.plivo.com/accounts/register/](https://manage.plivo.com/accounts/register/)

------
touristtam
Couple of coding advise for Symfony2 application:

* use repo method in repo classes, * separate and contain related code logic into bundles: you should have your code like this: /src/OrgName/BundleNameBundle

------
beachstartup
just a general comment: your instincts and advisers were probably right - if
you can't continue past 25k without serious reservations, it's best to open
source it and build a business around the project.

my cofounders and i spent upwards of $250k cash (on top of our own time value)
of our own money before we gained any sales traction. an order of magnitude
higher than your pain threshold. if you weren't prepared to spend that much
either from earnings or savings or equity, i'd say you made the right choice.

------
matthewarkin
Any reason why contributions on the ocall.org site goes to a contact form?

A change to BSD instead of GPL would be nice too :)

I've been meaning to build something similar so I'll probably be bit of a
contributor

~~~
scottybowl
It would be fantastic to have you as a contributor - please feel free to email
me on scott.bowler@calltracking.hk so we can talk things through.

At the moment we don't have a community as we only launched the project today.
The form is a placeholder while that community gets established, and will
hopefully be replaced with a forum & docs very soon.

~~~
X4
[https://github.com/discourse/discourse](https://github.com/discourse/discourse)
ain't bad for forums

and

[http://daux.io/](http://daux.io/) and
[http://apiblueprint.org/](http://apiblueprint.org/) look like a good way
document your software

------
mekael
First look I'd suggest is separating the DDL and DML into separate SQL
scripts, the mysql dump is scattered and hard to read.

------
kevonc
hey scott, met you before when I was working on Sponfed. kudos to open
sourcing the software, wish you all the best buddy!

~~~
scottybowl
Thanks very much! Ping me if you'd like to catch up for a coffee :)

------
BorisMelnik
great idea, the industry needs this. don't personally know a lot about the
industry but I know I need to learn more about it.

------
moron4hire
I'm sorry to be pedantic, because I acknowledge you are in a tough spot, but
just because you put $25k into the development doesn't mean the code is worth
$25k.

~~~
michaelmior
I don't believe the OP ever said the code was worth $25K.

~~~
moron4hire
The original title of the post was something along the line of "I just open-
source $25K-worth of code." It's since been ninja-edited.

