Two weeks ago I spoke with someone who still doesn't believe you
can make money with open source software. (Maybe the $350 million
that JBoss sold for is just not enough for him?) Finally he
conceded:
"Now Red Hat, they sell manuals. That business model I can
understand."
Which is a very curious comment indeed, since Red Hat's manuals
are right there, free to download off the Internet: see
http://www.redhat.com/docs/manuals/enterprise/
In reality, documentation is a very important part of what Red
Hat sells, even if you can get it for free. First and foremost,
it empowers more users to take advantage of Red Hat software, and
with more users, there are more contributors and more potential
customers. Second, good manuals establish a bond between Red Hat
the company and the end user. By educating users, Red Hat
convinces them that it cares about them and can make something as
complex as Linux make sense to them. And …
I received an email back from a good friend about my recent post on open source sales and marketing. He strongly disagrees with my view. I'm going to include some of his comments here, because I think they reveal the depth of his experience and accumulated wisdom. They also point to an optimal way to start an open source company.
He suggested some ways to build an open source business:
-
Fire everyone in sales.
(Asay: This is difficult for a company like Alfresco, as we don't actually have anyone in sales besides an inside sales person, and he's kicking tail. I'd never consider firing someone who paid for himself in the first month on the job.)
-
Set revenue expectations for the next 12 months to zero.
(Asay: I think this is …
This falls under “I knew I could do this but I didn’t realize I could apply it this way!”
You can do
SELECT 1 from table1;
Which will return n rows, each row having 1 field whose value is 1. n is the number of rows in table1.
SELECT "string" from table1 works similarly.
However, I never considered using
SELECT "string" as "debug statement" to debug code.
For instance,
mysql> SELECT "SELECT foo from bar where baz>0" as
"debug";;
+---------------------------------+
| debug |
+---------------------------------+
| SELECT foo from bar where baz>0 |
+---------------------------------+
1 row in set (0.00 sec)
Neat trick! This is why I follow the MySQL Users general list, because every so often a gem like this comes up. Plus, I can’t resist helping folks out. And if …
[Read more]Finally!
ChangeSet
1.2396 06/05/12 12:50:50 gluh@eagle.intranet.mysql.r18.ru +12
-0
WL#3015: Logging Improvements - No Restarts(ver N3)
Added slow_query_log & general_log global upadatable
variables.
Added slow-query-log & general-log startup options.
Added log_output, log_path, log_slow_queries_path global
updatable variables.
http://lists.mysql.com/commits/6279
Now we can do things like “SET GLOBAL general_log = ON;” and “SET GLOBAL log_path=’/log/tmp.log’;”.
This has been something long requested so it’s great to see this slip in to the tree in time for 5.1!
Note the title is “How I have a successful MySQL Meetup Group.” There’s more than one way to do it, I’m sure. There are 3 basic principles:
1) Try to do as little work as possible.
2) Make your colleagues do as little work as possible.
3) Always have a topic/presentation
These three principles will get you far, and should be weighted equally. Do not use principle # 1 as an excuse to not follow principle #3. As well, “doing work” includes “paying money”. With that being said:
- Make your meetup easy to get to. This has different meanings for different areas. It may mean near a major highway interchange, it may mean near a mass transit station. Whatever it means for you, make it easy.
When the Boston MySQL Meetup first started, we had free space in an office building right in the city of Boston.
| Pros … |
|---|
Finally!
ChangeSet
1.2396 06/05/12 12:50:50 gluh@eagle.intranet.mysql.r18.ru +12
-0
WL#3015: Logging Improvements - No Restarts(ver N3)
Added slow_query_log & general_log global upadatable
variables.
Added slow-query-log & general-log startup options.
Added log_output, log_path, log_slow_queries_path global
updatable variables.
http://lists.mysql.com/commits/6279
Now we can do things like “SET GLOBAL general_log = ON;” and “SET GLOBAL log_path=’/log/tmp.log’;”.
This has been something long requested so it’s great to see this slip in to the tree in time for 5.1!
This Wednesday I participated on a panel discussion about
"Open Source in the Enterprise - Chances and
Risks" at the JAX 2006 conference in Wiesbaden, Germany. It
was a lively discussion, with good comments and questions from
the audience.
One thing I found noteworthy is that many people still seem to be
worried about using OSS when it comes to licensing and legal
questions. In fact, these concerns seem to be more dominant than
preoccupations about the technical capabilities of OSS software
itself. Some claimed that they find OSS licenses confusing and do
not feel certain if their usage of OSS actually complied to the
licenses. I was thankful that we had Till Kreutzer from the
ifrOSS on the
panel as well, who (in my opinion) did a good job in dispelling a
few myths …
I recently I announced that MySQLDevelopment was going to close,
at the time I wasn't sure what would be happening to the content
but I hoped that it would be able to live on in some form.
I had a number of requests and suggestions with regard to the
site and I felt the best option was to hand it over to MySQL for
inclusion in the new MySQL Forge Wiki. My timing was a little off
as the site was due to close during the MySQL conference but with
that now out of the way the content of the site has been
transfered and is available now at..
http://forge.mysql.com/wiki/Category:MySQLDevelopment
I will be passing over the domain name to MySQL also but that may
take some time to be up and running so MySQLDevelopment.com will
still be available in the mean time.
Now it's finally happening it's a little sad for me but …