Monthly Archives: February 2009

On Memory

I always thought I had a decent memory, well, besides names –  I have very hard time remembering names and also mix similar names all the time.    It is funny however how memory plays if amount of issues you’ve got to deal with increases.

When I used to work with my own system it was cool I could remember everything, keep in mind all parts interactions, table names script locations  and do this for a long time which meant documentation was not the critical piece.        Working with customers at Percona I had to keep more and more systems in mind.      It worked fine for the first 10-20 but  later I started to mix things or simply forget details how things worked at given customers system.    I think this happens to other consultants too – this is just nature of human brain to manage information overload by discarding sum.

What do I learn from it?   Well  Documentation is Very Important. As many engineers I do not like documenting things too much but I understand it is critically needed as otherwise I would forget things and will have to ask customers again which is not a great service, or figure out loosing the time which is not good ether.      I also learned  not to chop time too much – it is much more efficient to spend actively working few days with the customer than stretch it for weeks spending half an hour every day.    Finally (and this is more for customers than for myself) – if you want consultant to be confident with your systems and to be able to act promptly if problems arise and offer you efficient advice it is best to have periodic work on your systems. It does not really matters what work that is – it could be checking things are in a good order, maintenance etc –  any work will keep the information hot in the consultants head and it also will help to notice changes and update docs appropriately.

Open Source ? I do not like this term any more.

I’ve run into this post recently and it  really well resonates with what I was thinking a lot recently.   The Open Source as a term became used for marketing for so many companies which have nothing to do with original Open Source spirit of sharing and collaboration.     What term can we use to describe the true Open Source Software which is among other things means you can use it for free for all required business functions – there is nothing you MUST pay for, there are however things you may CHOSE to pay – support consulting etc.

Note the features are not just bare bone features you need but preceived features pushed upon you by sales/marketing organization.   The MySQL is  actually a great example here –  you really do not need MySQL Enterprise to run any MySQL powered business but all company messages are focused on making you to think you can’t survive a single day without it if you’re doing real business with MySQL.

The ZmandaInfobright, Hyperric are all example of Commercial Open Source companies which will see you start purchasing software if you’re in real business.

Now do not get me wrong.  I do not see anything wrong with commercial software.  I also understand a lot of the Commercial Open Source companies could not have existed as purely Open Source companies… meaning Open Source community would not even have their limited OpenSource offerings.    I just would like to see some consistence in naming to avoid confusion and  understand when the project is completely OpenSource   or there are some commercial gotchas.

On the related note  – where true OpenSource project could originate from ?   I think it is close to impossible to get VC funding if you’re going to give away everything and have the model of people paying you for services.  True OpenSource projects should be humble and slowly growing… this is actually the case with old time MySQL which took years before they have gotten any decent web site or good looking CEO.  True Open Source project founders should be focused on making the difference more than making the money otherwise it is very hard to resist to add a bit of extra motivation for customers pay you the money.    The true Open Source project may also originate from hobby/fun type of project when money is off  the table.  The colaboration project like Linux Kernel or PostgreSQL  when there are a many parties making money on the customized/extended versions which allows to keep the core project clean.   It also could be give away type of project sponsored by  one or several companies which just use it for the business.  The examples could be memcache with FaceBook and SixApart or   Hadoop with Yahoo.

On a free public education

Because of Budget crisis here in California we’re getting scary letters from the School District about nasty things to come, such as reoving sertain positions, less extra activities and potentially large classes. The district also takes a lot of other measures to balance the budget such as looking at the bonds and tax mesures.   So a lot of things can be done but not asking parents to pay money – the education has to be free and available to everyone.

The public education is NOT free, it is just the payments  for it have to be collected in the indirect way so people think it is.   Schools are good here in Pleasanton, but guess what – the  house prices are hundreds of thousands of dollars more than in neighborhoods with not so good schools and rents are higher too.    The low income family would not able to afford living in Pleasanton anyway and so to afford equally good schools as more fortunate people.

I think it is good schools and local infrastructure is paid from the local taxes but I also think it would benefit a lot if schools could attract extra funding directly.   Why not get parents at the school to vote and see if they would like to pay extra tuition or take a staff or activity hikes for their children ?

Now there are probably some people in the school which can’t afford to pay.  So what ?    There could be income based “scholarship” programs to waive payments for those who can’t afford it.

In fact this is how I studied back in Russia in my latest years in “lyceum” – we had to pay certain tuition (even though it was mostly government funded) – and there were few people in the class who could not and so they did not.   Well though in that case it was mandatory with no parents involvement.

So I’m watching how it develops but it would be very sad to have set backs on education quality when a lot of local parents put it high on their list due to some laws which are designed to make things look like they are fair to everyone.

How Support is different from the Car Insurance

When I was working for MySQL some people liked to compare MySQL Support to insurance, say car insurance to be specific.  This makes a very good sales pitch because we all know you need to buy insurance in advance and you can’t buy it when you need it the most – hence then incident have already happened.

However things are different, a lot different, and let us see how.     Why we do ensurance on the first place ?   Mainly to protect from something catastophic happening.  For example paying $1000 a year for a car ensurance so you do not end up with $20.000 liability for more or less serious incident.    The fee in this case assumes such incident is not going to happen for many years and if it does not revenue from many years will be needed to cover expenses for such incident.  When we’re speaking about MySQL Support  (or Enterprise Subscription)   you get $5000 per server price tag for best support offering while most support incidents will take just few hours to resolve.  Unlike with car insurance there is no catastrophic loss potential in this case –  typically you will have no problem paying for the help when you just need it.

Continue reading

Wikipedia for daddies

Wikipedia is a great resourse for dads of curious kids.   My kid asks a lot of questions and he is interested in a lot of fronteer stuff  like  aero gels, plasma, fusion and space.   In the past times you would just buy books for that but well… It is not good any more because it takes years for them to be updated while things change much faster these days.   Many books will still call Pluto the planet or will not have enough info about recent advances in nuclear physics.   Wikipedia allows access to all this information in the real time changing how we can learn.   Of course  Wikipedia is not along there are a lot of other resources in the Internet providing amount of information we could only dream about only 10-15 years ago but Wikipedia is surely the great place to start research about virtually any topic.

Competition and Open Source

I’m hearing some people think we at Percona are in unfair competition with Sun/MySQL.   Indeed  Sun and MySQL invest millions in MySQL Development and we just take this result  extend it with few patches and provide our services around it.     People with such thinking do not really understand  the spirit of Open Source at all.  Open Source is about freedom and gives a lot of power to community and the customer, unlike tradition commercial software which is built around lock in.

If you’re traditional software company like Microsoft you build your software and leverage your monopoly to drive your business.   With Microsoft SQL Server not only people have to purchase software itself but the Microsoft remains the only choice for features in core Microsoft SQL Server you might need or support (like bug fixes).   There are thousands of companies having some professional services around the product but there is large amount of things which only Microsoft can do and so customers choosen to build on this technology have little choice.

With Open Source software, like MySQL things are different.  Not only you do not need to pay for MySQL Server itself  (in most cases) but also there are choices for all services you need.  You do not have to wait for MySQL to implement features – you can do them yourself, like Google and some other large companies or you can hire someone like Percona to do it for you. You can also fix bugs  yourself or make third parties to do that for you.  Of course still “creators of MySQL” are assumed to be best for a lot of stuff –  having developers which know code base the best or have best support team.  These  advantages however are much softer than “only we can touche the source code” and you have to constantly work hard on proving these to the customers.

Deciding to build company  on Open Source software you should accept rules of the game –  Open Source provide you a lot of advantages with market reach community and viral marketing but it also provides a lot of challenges such as you have to continue proving you’re best source for the product and for services –    Open Source product can be Forked/Branched and everyone can provide services around the product on the same conditions as you do.

In case of Sun/MySQL things are actually shifted even more to their advantage comparable to fully Open Source business –   Sun/MySQL sells licenses for commercial software, which is something what no other company around MySQL can do (without licensing code from MySQL on the first place).

The fact there is limited control over the customers by the vendor may be bad for vendors business but it is great for the customer putting a lot of choice and power in their hands.

Interesting enough there are more people which seems to think the same.  Monty annonced he has left Sun and starting his own company which will work in MySQL ecosystem providing the “Branch” with Monty’s extensions but pulling back all changes/new features/bug fixes from original MySQL.