Skip to main content

Pomagaj rešiti MySQL

Ta objava je kopija zapisa iz bloga Monty says. Avtor Michael “Monty” Widenius prosi za pomoč pri preprečitvi, da  MySQL ne bi bil več projekt tipa odprte kode.

I, Michael “Monty” Widenius, the creator of MySQL, is asking you urgently to help save MySQL from Oracle’s clutches. Without your immediate help Oracle might get to own MySQL any day now. By writing to the European Commission (EC) you can support this cause and help secure the future development of the product MySQL as an Open Source project.

What this text is about:
– Summary of what is happening
– What Oracle has not promised
– Oracles past behavior with Open Source
– Help spread this information (Jump to ‘What I want to ask you to do’)
– Example of email to send to the commission (Jump to ‘send this to:’)

I have spent the last 27 years creating and working on MySQL and I hope, together with my team of MySQL core developers, to work on it for many more years.

Oracle is trying to buy Sun, and since Sun bought MySQL last year, Oracle would then own MySQL. With your support, there is a good chance that the EC (from which Oracle needs approval) could prevent this from happening or demand Oracle to change the terms for MySQL or give other guarantees to the users. Without your support, it might not. The EC is our last big hope now because the US government approved the deal while Europe is still worried about the effects.

Instead of just working out this with the EC and agree on appropriate remedies to correct the situation, Oracle has instead contacted hundreds of their big customers and asked them to write to the EC and require unconditional acceptance of the deal. According to what I been told, Oracle has promised to the customers, among other things, that “they will put more money into MySQL development than what Sun did” and that “if they would ever abandon MYSQL, a fork will appear and take care of things”.

However just putting money into development is not proof that anything useful will ever be delivered or that MySQL will continue to be a competitive force in the market as it’s now.

As I already blogged before, a fork is not enough to keep MySQL alive for all future, if Oracle, as the copyright holder of MySQL, would at any point decide that they should kill MySQL or make parts of MySQL closed source.

Oracle claims that it would take good care of MySQL but let’s face the facts: Unlike ten years ago, when MySQL was mostly just used for the web, it has become very functional, scalable and credible. Now it’s used in many of the world’s largest companies and they use it for an increasing number of purposes. This not only scares but actually hurts Oracle every day. Oracle have to lower prices all the time to compete with MySQL when companies start new projects. Some companies even migrate existing projects from Oracle to MySQL to save money. Of course Oracle has a lot more features, but MySQL can already do a lot of things for which Oracle is often used and helps people save a lot of money. Over time MySQL can do to Oracle what the originally belittled Linux did to commercial Unix (roughly speaking).

So I just don’t buy it that Oracle will be a good home for MySQL. A weak MySQL is worth about one billion dollars per year to Oracle, maybe more. A strong MySQL could never generate enough income for Oracle that they would want to cannibalize their real cash cow. I don’t think any company has ever done anything like that. That’s why the EC is skeptic and formalized its objections about a month ago.

Richard Stallman agrees that it’s very important which company owns MySQL, that Oracle should not be allowed to buy it under present terms and that it can’t just be taken care of by a community of volunteers. http://keionline.org/ec-mysql

Oracle has NOT promised (as far as I know and certainly not in a legally binding manner):

– To keep (all of) MySQL under an open source license
– Not to add closed source parts, modules or required tools.
– To not raise MySQL license or MySQL support prices
– To release new MySQL versions in a regular and timely manner.
– To continue with dual licensing and always provide affordable commercial licenses to MySQL to those who needs them (to storage vendors and application vendors) or provide MySQL under a more permissive license
– To develop MySQL as an Open Source project
– To actively work with the community
– Apply submitted patches in a timely manner
– To not discriminate patches that make MySQL compete more with Oracles other products
– To ensure that MySQL is improved also in manners that make it compete even more with Oracles’ main offering.

From looking at how Oracle handled the InnoDB acquisition, I don’t have high hopes that Oracle will do the above right if not required to do so:

For InnoDB:
– Bug fixes where done (but this was done under a contractual obligation)
– New features, like compression that was announced before acquisition, took 3 years to implement
– No time tables or insight into development
– The community where not allowed to participate in development
– Patches from users (like Google) that would have increased performance was not implemented/released until after Oracle announced it was acquiring Sun.
– Oracle started working on InnoDB+, a better ‘closed source’ version of InnoDB
– In the end Sun had to fork InnoDB, just to be able to improve performance.

It’s true that development did continue, but this was more to be able to continue using InnoDB as a pressure on MySQL Ab.

Note that Oracle’s development on the Linux kernel is not comparable with MySQL, because:
– Oracle is using Linux as the main platform for their primary database product (and thus a better Linux makes Oracles platform better)
– The GPL code in the kernel is not affecting what is running on top on it (because of an exception in Linux).

Because we don’t have access to a database of MySQL customers and users the only way we can get the word out is to use the MySQL and Open Source community. I would never have resorted to this if Oracle would not have broken the established rules in anticompetitive merger cases and try to influence the EC by actively mobilising the customers.

This is very critical to this AS SOON AS POSSIBLE as EC, depending on what Oracle is doing, needs to make a decision either on Monday (2009-12-14) or within two weeks. Becasue of the strict deadline, every email counts!

What I want to ask you to do (until 2009-12-19):

– Forward this email to everyone that you know is using MySQL or Open Source/free software and to all email list where you know there are people present that use or care about MySQL and open source (please check first that this email hasn’t been sent there before)
– Alternatively send emails with information about this and tell them to read http://monty-says.blogspot.com/2009/12/help-saving-mysql.html
– Add links on your web site to http://monty-says.blogspot.com/2009/12/help-saving-mysql.html with the text “We are using MySQL, help save it”, for the duration of the next two week.
– Blog about this (feel free to include this text or just link to my blog)
– Call by phone (don’t contact by email, this is urgent) your boss or VP and ask him to read this email and send a letter to the EC commission ASAP!
– If you don’t have anyone to contact above, send an email to the EC!

As we want the EC to get a correct picture of the situation, we want you to first fill in the upper part and then choose one of the proposed texts belowe that best matches your view of the situation. Feel free to supply your own text and additional information if you think this will help the EC to reach a better understanding of how MySQL is used.

Send this to: comp-merger-registry@ec.europa.eu

If you have extra time to help, fill in the following, if not, just skip to the main text.

Name:
Title:
Company:
Size of company:
How many MySQL installations:
Total data stored in MySQL (megabyte):
For what type of applications is MySQL used:
Should this email be kept confidential by EC: Yes/No

Copy or use one of the below texts as a base for your answer:

a)
I don’t trust that Oracle will take good care of MySQL and MySQL should be divested to another company or foundation that have everything to gain by developing and promoting MySQL. One should also in the future be able to combine MySQL with closed source application (either by exceptions, a more permissive license or be able to dual license MySQL under favourable terms)

b)

I think that Oracle could be a good steward of MySQL, but I would need EC to have legally binding guarantees from Oracle that:
– All of MySQL will continue to be fully Open Source/free software in the future (no closed source modules)
– That development will be done in community friendly way.
– The manual should be released under a permissive license (so that one can fork it, the same way one can fork the server)
– That MySQL should be released under a more permissive license to ensure that forks can truly compete with Oracle if Oracle is not a good steward after all.
Alternatively:
– One should be able to always buy low priced commercial licenses for MySQL.

There should also be mechanism so that if Oracle is not doing what is expected of it, forks should be able to compete with Oracle

c)
I trust Oracle and I suggest that EC will approve the deal unconditionally.

——————–

Let us prove to Oracle and EC that the Open Source community is a true force and we take good care of our citizens and we prefer to work with companies that does the same!

The future of MySQL is in your hands!

Thanks for the help!
Michael Widenius
Creator of MySQL

Enhanced by Zemanta

grubby fatal error: unable to find a suitable template

Občasno sem tudi admin, ki skrbi za nekaj strežnikov na katerih teče operacijski sistem Fedora Core, trenutno verzija 9. Imam linux (software) raid. Na vseh strežnikih imam nastavljeno avtomatsko posodabljanje preko YUM-a. Problem se je začel pojavljati na nekaterih strežnikih po nadgradnji iz verzije 8 v 9. Nadgradnje sem izvedel preko interneta in ni bilo problemov. Čez nekaj časa pa sem v logih zasledil sledečo napako pri nadgradnji kernela:

grubby fatal error: unable to find a suitable template

Poskusil sem namestiti kernel preko RPM-ja in dobil enako sporočilo o napaki. Preveril sem grub.conf in ugotovil, da potrebnih vrstic za zagon z novim kernelom, ni vpisanih.

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You do not have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd1,0)
#          kernel /boot/vmlinuz-version ro root=/dev/md0
#          initrd /boot/initrd-version.img
#boot=/dev/md0
password –md5 $1$MNOLL$tWHHwFquNUxCK/YoJ.Ggoj/
timeout=5
splashimage=(hd1,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.24.4-64.fc8)
root (hd1,0)
kernel /boot/vmlinuz-2.6.24.4-64.fc8 ro root=LABEL=/
initrd /boot/initrd-2.6.24.4-64.fc8.img

Če to storim ročno se sistem ne naloži in se ustavi pri inicializaciji gonilnikov, ker ne najde root-a (update).

Waiting for driver initialization.
Loading pata_acpi module
Waiting for driver initialization.
Trying to resume from /dev/sdc3
No suspend signature on swap, not resuming.
Creating root device.
Mounting root filesystem.
mount: error mounting /dev/root on /sysroot as ext3: No such file or directory
Setting up other filesystems.
Setting up new root fs
setuproot: moving /dev failed: No such file or directory
no fstab.sys, mounting internal defaults
setuproot: error mounting /proc:  No such file or directory
setuproot: error mounting /sys:  No such file or directory
Mount failed for selinuxfs on /selinux: No such file or directory
Switching to new root and running init.
unmounting old /dev
unmounting old /proc
unmounting old /sys
switchroot: mount failed: No such file or directory
Booting has failed.

Spodaj je del namestitve iz RPM-ja z dodanim -vvv:

D: adding 1 entries to Installtid index.
D: opening db index /var/lib/rpm/Sigmd5 create mode=0x42
D: adding 1 entries to Sigmd5 index.
D: opening db index /var/lib/rpm/Sha1header create mode=0x42
D: adding “4bd647eca284f320c65982b6662e59a87ba6a3a5” to Sha1header
index.
D: opening db index /var/lib/rpm/Filemd5s create mode=0x42
D: adding 2157 entries to Filemd5s index.
D: install: %post(kernel-2.6.26.6-79.fc9.i586) asynchronous
scriptlet start
D: install: %post(kernel-2.6.26.6-79.fc9.i586) execv(/bin/sh) pid 9671
++ uname -i
++ uname -i
+ ‘[‘ i386 == x86_64 -o i386 == i386 ‘]’
+ ‘[‘ -f /etc/sysconfig/kernel ‘]’
+ /bin/sed -i -e
‘s/^DEFAULTKERNEL=kernel-smp$/DEFAULTKERNEL=kernel/’
/etc/sysconfig/kernel
+ /sbin/new-kernel-pkg –package kernel –mkinitrd –depmod
–install 2.6.26.6-79.fc9.i586
grubby fatal error: unable to find a suitable template
D: install: waitpid(9671) rc 9671 status 0 secs 61.688
D: running post-transaction scripts
D: Expected size: 18876201 = lead(96)+sigs(344)+pad(0)+data(18875761)
D: Actual size: 18876201
D: kernel-2.6.26.6-79.fc9: Header V3 DSA signature: OK, key ID 6df2196f
D: (null): %posttrans(kernel-2.6.26.6-79.fc9.i586) synchronous
scriptlet start
D: (null): %posttrans(kernel-2.6.26.6-79.fc9.i586) execv(/bin/sh)
pid 13149
+ /sbin/new-kernel-pkg –package kernel –rpmposttrans
2.6.26.6-79.fc9.i586
D: (null): waitpid(13149) rc 13149 status 0 secs 0.206
D: closed db index /var/lib/rpm/Pubkeys
D: closed db index /var/lib/rpm/Filemd5s
D: closed db index /var/lib/rpm/Sha1header
D: closed db index /var/lib/rpm/Sigmd5
D: closed db index /var/lib/rpm/Installtid
D: closed db index /var/lib/rpm/Provideversion
D: closed db index /var/lib/rpm/Requireversion
D: closed db index /var/lib/rpm/Dirnames
D: closed db index /var/lib/rpm/Triggername
D: closed db index /var/lib/rpm/Conflictname
D: closed db index /var/lib/rpm/Providename
D: closed db index /var/lib/rpm/Requirename
D: closed db index /var/lib/rpm/Group
D: closed db index /var/lib/rpm/Basenames
D: closed db index /var/lib/rpm/Name
D: closed db index /var/lib/rpm/Packages
D: closed db environment /var/lib/rpm/Packages
D: May free Score board((nil))
[root@dok boot]#

[root@dokumentko ~]# /sbin/fdisk -l
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1       30401   244196001   83  Linux

Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000bc374

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1         637     5116671   fd  Linux raid autodetect
/dev/sdb2             638       29635   232926435   fd  Linux raid autodetect
/dev/sdb3           29636       29762     1020127+  82  Linux swap / Solaris
/dev/sdb4           29763       30401     5132767+   5  Extended
/dev/sdb5           29763       30401     5132736   fd  Linux raid autodetect

Disk /dev/sdc: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000c1fa7

Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1         637     5116671   fd  Linux raid autodetect
/dev/sdc2             638       29635   232926435   fd  Linux raid autodetect
/dev/sdc3           29636       29762     1020127+  82  Linux swap / Solaris
/dev/sdc4           29763       30401     5132767+   5  Extended
/dev/sdc5           29763       30401     5132736   fd  Linux raid autodetect

Disk /dev/md0: 5239 MB, 5239341056 bytes
2 heads, 4 sectors/track, 1279136 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn’t contain a valid partition table

Disk /dev/md2: 5255 MB, 5255856128 bytes
2 heads, 4 sectors/track, 1283168 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md2 doesn’t contain a valid partition table

Disk /dev/md1: 238.5 GB, 238516568064 bytes
2 heads, 4 sectors/track, 58231584 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn’t contain a valid partition table

[root@dokumentko ~]# mount
/dev/md0 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/md1 on /home type ext3 (rw)
/dev/md2 on /backup type ext3 (rw)
/dev/sda1 on /backup_home type ext3 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

[root@dokumentko ~]# cat /etc/fstab
LABEL=/ / ext3 defaults 1 1
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
LABEL=home /home ext3 defaults 1 2
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
LABEL=SWAP-sdb3 swap swap pri=0 0 0
LABEL=SWAP-sda3 swap swap pri=0 0 0
LABEL=backup /backup ext3 suid,dev,exec 0 0
LABEL=backup_home /backup_home ext3 suid,dev,exec 0 0

[root@dokumentko ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md1 : active raid1 sdc2[1] sdb2[0]
232926336 blocks [2/2] [UU]

md2 : active raid1 sdb5[0]
5132672 blocks [2/1] [U_]

md0 : active raid1 sdb1[0] sdc1[1]
5116544 blocks [2/2] [UU]

unused devices:

[root@dokumentko ~]# fdisk /dev/md0
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x1c05d888.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won’t be recoverable.

The number of cylinders for this disk is set to 1279136.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help):

Enako oppozorilo dobim za md1 in md2. Obstoječi kernel (2.6.24.4-64.fc8) se normalno zažene. Je možno, da je do kakšne napake prišlo pri nadgradnji iz fc8 na fc9? V čem je problem?

Reblog this post [with Zemanta]