26 02/10
14:08

Why I Think Writing Open Source will make me Rich

Things have changed since the shareware era of the 90’s today you don’t normally see bundled shareware CD’s. You don’t need Microsoft Office to write documents or use spreadsheets. You download Open Office because it’s free and open source.

Ever since I read Cathedral and the Bazaar and Homesteading the Noosphere it always confuses me why is it better to give away your source code to everyone? Why should I throw away my hard work?

Well let’s have a few examples,

Linux  which has no single dictating entity, meaning unlike Windows which has MS and OSX which has Apple. Linux alongside Apache web server (also open source) has continuously dominated as the being the backbone of the internet.

PHP a language created by Rasmus Lerdorf was preferred to use by Facebook and Wikipedia instead of ASP/ASP.NET by Microsoft or J2EE by Sun/Oracle?

Mysql, now bought by Sun/Oracle, an open source databse being used majority of websites today.

What does this mean is that a lot of funds of these open source customers are being redistributed somewhere. Surely, income is generated from these websites; so the money is spent somewhere else besides software. This is where I think I can make a profit.

Here are the major sources of income in open source software:

1. Consultancy; selling of expertise.

To study this how we go to John Resig’s about page

John Resig is a JavaScript Tool Developer for the Mozilla Corporation and the author of the book Pro JavaScript Techniques. He’s also the creator and lead developer of the jQuery JavaScript library.

Imagine if you are the creator of Jquery, world’s most popuplar javascript library, hired by Mozilla Corporation how much will you charge hourly? I have no idea how much but I believe it’s higher than most of us. but let’s compare the guys at debuggable.com. This company was a major code contributor to cakephp in their homepage they charge as high as 90 euros/hr (that’s $121.5/hr or P5,346.00/hr.)

But this company is not even the founder nor the creator, they are only contributors. When you develop an open source project you are the most knowledgeable person there is.

Another example, Guido van Rossum creator of python is hired by Google. His hourly rate must be astronomical!

2. Develop an Enterprise Version

This would be one of my favorite. A simple explanation would be you have your open source software forked at another branch but is sold at a premium. It’s also open source and same license as the community edition but you provide a solid customer support and a dedicated team.

Examples:

http://www.magentocommerce.com/product/enterprise-edition

http://www.webyog.com/en/buy.php

http://www.mysql.com/products/enterprise/

3.  Certification / Training / Book sales

Basic explanation, offering your customers the necessary training and manuals for them to use your software properly. The certification is more suited for Companies who provide IT services.

5. Souvenirs & Donations or a.k.a Beer money

Great passive income for your business. If you provide your users the best some of them will give back. Even they don’t give back if they love your project so much they will even tell their friends or write a plug-in.

This may not make a lot. But making money while sleeping is always welcome.

7. Website Advertisements

Good examples I can think of are adsense income and affiliate marketing income. If you have a popular product the traffic on your download page can be monetized.

That’s everything I know, remember I wrote this because I have tried selling CD’s with my accounting software before and I failed these are only my thoughts on my next project. Hopefully this open source model will be successful.

So what do you think is best? Would you develop an open source project soon?

06 02/10
11:17

Spark Plug Cakephp plugin

This month of February I released my first Cakephp plugin Spark Plug to github so far as of this writing it has already 7 watchers and 2 forks already! I’m also proud to say that it’s being watched by Cakephp member and core commiter Lorenzo. For more information on the plugin visit it’s github page.

20 01/10
13:44

Fat Models + Unit-Testing

Last Jan 4th I had a chat with Mr Larry E. Masters the founder and lead developer of cakephp. He gave me good advice on how should I implement my projects. Apparently I was wrong putting all the logic in the controller. This is working ok but this has drawbacks here are some that I know so far:

  • Code is not encapsulated – If you keep putting logic in your controller the code is often not re-used for the next controller you’ll write.
  • Code is not unit-testable – If you write your logic in the model your code is isolated from the rendering logic. I.e. $this->set() and $this->flash(). For fat models your function just works as intended.

rchavik: ~tell rchavik about goodcake
jedt: fat models?
rchavik      yup
jedt: mine are skinny
PhpNut: code models jedt or the other type of models?
jedt: lol, code :)
PhpNut: hmm skinny code models are bad
jedt: i don’t put logic in my models
PhpNut: oh you should
jedt: really?
PhpNut: yes
jedt: hmm i’ll try
PhpNut: the model itself should be the place where almost all of your logic is handled
PhpNut: let the controller get the data from the model
jedt: for example a save routine
PhpNut: well not just that
PhpNut: think of anything you would do related to returning data
jedt: oh i see
PhpNut: search, merging records
jedt: yeah or lists
PhpNut: the write your tests that the data is what you expected
jedt: well i do that
jedt: sometimes
PhpNut: when all of this works, you write the controller and view
jedt: PhpNut: would you recommend save routines in fat models?
PhpNut: jedt yes
PhpNut: if the core save methods do not work for you, the only place to logically put them is in the model
jedt:i see
jedt: what about component logic to deal with?
PhpNut: jedt components are the “extend” controller functionality like behaviors are for models
PhpNut: s/are the/are to/
jedt: PhpNut: For example, after doing the save in User i need to update UserDetail model as well
PhpNut: afterSave() jedt
PhpNut: $created is true when record is inserted
jedt: oic, and i do the import thing?
PhpNut: sure if the model is not associated
jedt: oh you’re right!
jedt slaps his forehead
PhpNut: jedt you will find that our more often :)

source: http://irc.cakephp.org/logs/link/1273200

09 01/10
11:23

I’m now a Githubber

This week I spent time learning Git which is an amazing tool created by Linus Trovalds. I was inspired by milesj’s post and so far git is doing great for me.

To give you a brief into on Git. It’s like svn but it’s distributed meaning you don’t need a central repository to create branches or tags. It’s a tool for open source to be more free (free as in freedom.) Now alongside git is Github. Github is like sourceforge+facebook  for open source projects. 

For example on how easy it is, If you want to fix or enhance Croogo CMS just click the fork button and instantly you have a Croogo repository of your own. Which means you can create your own branch commit and push to github. when you’re done you can inform the original author about it and he will merge it into the master branch. (or also called trunk in SVN.)

I’ll post more info on how to install git in windows in the next posts but if you like you can follow me in here. I have pushed my repository also. So you can check out my upcoming project.

05 01/10
20:25

PHP Developers Summit 2010

PHP User group Philippines (phpugph.com/talk) will have a grand conference title PHP Developers Summit 2010.

I'm attending PHP Developers Summit 2010!

Date: January 30, 2010, Saturday
Time: 8.00 AM – 5.00 PM
Venue: Hotel Rembrandt
26 Tomas Morato Extension Quezon City, Philippines
Location Map: http://maps.google.com/maps/place?cid=13146968077348134590&q=hotel%2Brembrandt%2Bquezon%2Bcity%2Baddress

In partnership with Microsoft Philippines, PHP User Group Philippines presents PHP Developers Summit 2010. We are inviting you to come and join us in this gathering of the country’s best tech-talents, professionals and web developers promoting the use of PHP and open source solutions in the enterprise and schools. Free flowing coffee with lots of freebies and raffle prizes! So what are you waiting for? Registration starts at 8 AM. See you all there! ^_~

Speakers:

Dominick Nowell A. Danao (CEO of Happy Mobile Inc.)
- PHP Development with Yahoo Developer’s Network

Former VASHead of Sun Cellular, Founder of Pinoymail which he sold to Smart’s Orlando Vea for P100M back in the early 2000s, He is also a Palanca Awardee, He recently won in the Yahoo Open Hack’s Day in Indonesia.

Bing Bryan Tan (President and CEO of Brewed Concepts)
- Keynote Speaker

Paolo Alexis Falcone (Senior Developer, Friendster Inc.)
- PHP Scaling

Alezandra Nicholas (Microsoft Developer Evangelist)
- Website spark and Bizspark

Inspired by technopreneurship and helping students/professionals be more capable and employable, she hopes to empower them to dream bigger through innovation, enterprise and technology. She has more than 10 years of IT career experience as a trainer, conducting training in different programming languages, and as a technical consultant for various IT companies. She develops applications for both Windows and Web. She holds a Bachelor’s degree in Computer Science from Trinity University of Asia.

Rodney C. Jao (MVP for Device Application Development)
- PHP in IIS7 (using Fast CGI) and about PHP and ASP.NET interop via SOAP

Driven by his passion in sharing his knowledge to the IT community, Rodney has delivered numerous technical sessions on windows, web and mobile development using different platforms since 1999, including PHP interoperability. A technologist by heart, he has developed mobile applications and applications that integrate with Barcodes and RFID’s from several vendors. His technical competencies include networking and system administration. He is currently managing the Asia operations of Lane Systems, a software and consulting firm with offices in Asia and in North America.

Marco Palinar

He will talk about simplex yet sexy UI development for developers or his freelancing escapades. Marco used to work for Friendster.

Rick Bahague, Jr. (Computer Professionals’ Union)
- Windows Cache Extension for PHP

Globe Labs
- Globe Labs API

Sponsors:

Microsoft Philippines
Zend
Globe Labs