<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://wiki2.linuxformat.ru/skins/common/feed.css?97"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>LXF73:Интервью: Ричард Хипп - История изменений</title>
		<link>http://wiki2.linuxformat.ru/index.php?title=LXF73:%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B2%D1%8C%D1%8E:_%D0%A0%D0%B8%D1%87%D0%B0%D1%80%D0%B4_%D0%A5%D0%B8%D0%BF%D0%BF&amp;action=history</link>
		<description>История изменений этой страницы в вики</description>
		<language>ru</language>
		<generator>MediaWiki 1.11.1</generator>
		<lastBuildDate>Wed, 13 May 2026 21:48:24 GMT</lastBuildDate>
		<item>
			<title>Ewgen: добавил категории + мелкие исправления</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF73:%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B2%D1%8C%D1%8E:_%D0%A0%D0%B8%D1%87%D0%B0%D1%80%D0%B4_%D0%A5%D0%B8%D0%BF%D0%BF&amp;diff=12234&amp;oldid=prev</link>
			<description>&lt;p&gt;добавил категории + мелкие исправления&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 13:38, 24 июня 2011&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;''Если вы хоть раз слышали о движке SQLite для баз данных, и хотите внести свой вклад... то пожалуйста! Его автор, '''Ричард Хипп''' ('''Richard Hipp'''), горячо приветствует любые начинания. Он и объяснит, почему.''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;''Если вы хоть раз слышали о движке SQLite для баз данных, и хотите внести свой вклад... то пожалуйста! Его автор, '''Ричард Хипп''' ('''Richard Hipp'''), горячо приветствует любые начинания. Он и объяснит, почему.''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;left&lt;/del&gt;|&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;right&lt;/ins&gt;|&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Заголовок = Визитка LXF &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Заголовок = Визитка LXF &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Ричард Хипп (Richard Hipp)|&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Ричард Хипп (Richard Hipp)|&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Содержание = Создал встраиваемую систему БД SQLite, известную пользователям мобильных телефонов, КПК, а в последнее время все более популярную и на домашних Пк. На конференции OSCon в 2005 году за свою работу награжден премией Open Source Award (учредители – Google/O’Reilly) в номинации «Лучшей интегратор».&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Содержание = Создал встраиваемую систему БД SQLite, известную пользователям мобильных телефонов, КПК, а в последнее время все более популярную и на домашних Пк. На конференции OSCon в 2005 году за свою работу награжден премией Open Source Award (учредители – Google/O’Reilly) в номинации «Лучшей интегратор».&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Возраст 44&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Возраст &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;- &lt;/ins&gt;44&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Национальность American&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Национальность &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;- &lt;/ins&gt;American&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Сколько лет использует LINUX 12&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Сколько лет использует LINUX &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;- &lt;/ins&gt;12&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Языков программирования 17&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Языков программирования 17&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Количество ПК Only 5 that still work&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Количество ПК &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;- &lt;/ins&gt;Only 5 that still work&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Суточная норма кофе 1 cup&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Суточная норма кофе &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;- &lt;/ins&gt;1 cup&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Сандалий 1 pair at a time&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Сандалий &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;- &lt;/ins&gt;1 pair at a time&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Он говорит: «Рынок насыщен. У нас уже есть замечательные открытые приложения» |&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Он говорит: «Рынок насыщен. У нас уже есть замечательные открытые приложения» |&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 64:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 64:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''РХ:''' Наверно, нет. Я всего лишь применил накопленные знания и получил то, что есть. Я хотел снять прежние жесткие ограничения. В старой версии можно было работать не более, чем с 16 Мб, теперь же это число составляет что-то вроде 264 Mb. На протяжении двух лет я набирался знаний и многому научился: «когда я перепишу слой b-tree, я сделаю его другим». Но я не мог просто накладывать изменения друг на друга, так как нужно было еще сохранить и совместимость. Я думал так: «когда я выпущу версию 3.0, я должен буду собрать все компоненты и заново их подогнать друг под друга». Таков был мой план.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''РХ:''' Наверно, нет. Я всего лишь применил накопленные знания и получил то, что есть. Я хотел снять прежние жесткие ограничения. В старой версии можно было работать не более, чем с 16 Мб, теперь же это число составляет что-то вроде 264 Mb. На протяжении двух лет я набирался знаний и многому научился: «когда я перепишу слой b-tree, я сделаю его другим». Но я не мог просто накладывать изменения друг на друга, так как нужно было еще сохранить и совместимость. Я думал так: «когда я выпущу версию 3.0, я должен буду собрать все компоненты и заново их подогнать друг под друга». Таков был мой план.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''LXF:''' Кажется удивительным, как Apple и &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;PhP &lt;/del&gt;могли не дождаться версии 3.0, прежде, чем браться за SQLite...&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''LXF:''' Кажется удивительным, как Apple и &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;PHP &lt;/ins&gt;могли не дождаться версии 3.0, прежде, чем браться за SQLite...&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''РХ:''' Apple принялась за работу во времена версии 2.8, и только в Tiger (Mac OS X 10.4) появилась версия «три-точка-что-то-там». Они могли не торопиться, потому что время работало на них, чего нельзя сказать о PHP. Тем не менее, она все же вошла в раздел PDO в PHP (смотри учебник PHP на стр. 76)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''РХ:''' Apple принялась за работу во времена версии 2.8, и только в Tiger (Mac OS X 10.4) появилась версия «три-точка-что-то-там». Они могли не торопиться, потому что время работало на них, чего нельзя сказать о PHP. Тем не менее, она все же вошла в раздел PDO в PHP (смотри учебник PHP на стр. 76)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 163:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 163:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''РХ:''' Предоставление кода в public domain было большим шагом вперед. Это было похоже на свадьбу вашего первенца. Действительно, такое решение трудно принять, ведь я потратил столько времени и сил на свой проект, а потом отпустил его, даже специально перечитал код и удалил оттуда свое имя. Это больше, чем просто юридический шаг: я на самом деле выпустил свое детище на свободу. И продолжаю делать то же самое, то есть – отпускать его дальше. Возможно, это противоречит высказанному мною мнению по поводу того, кто может вносить свой вклад в код, но я так не считаю. Я не пытаюсь уберечь свой код, я оберегаю общий код.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''РХ:''' Предоставление кода в public domain было большим шагом вперед. Это было похоже на свадьбу вашего первенца. Действительно, такое решение трудно принять, ведь я потратил столько времени и сил на свой проект, а потом отпустил его, даже специально перечитал код и удалил оттуда свое имя. Это больше, чем просто юридический шаг: я на самом деле выпустил свое детище на свободу. И продолжаю делать то же самое, то есть – отпускать его дальше. Возможно, это противоречит высказанному мною мнению по поводу того, кто может вносить свой вклад в код, но я так не считаю. Я не пытаюсь уберечь свой код, я оберегаю общий код.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Категория:Интервью]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Категория:Ричард Хипп]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Fri, 24 Jun 2011 13:38:48 GMT</pubDate>			<dc:creator>Ewgen</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF73:%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B2%D1%8C%D1%8E:_%D0%A0%D0%B8%D1%87%D0%B0%D1%80%D0%B4_%D0%A5%D0%B8%D0%BF%D0%BF</comments>		</item>
		<item>
			<title>Alias: Основной текст</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF73:%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B2%D1%8C%D1%8E:_%D0%A0%D0%B8%D1%87%D0%B0%D1%80%D0%B4_%D0%A5%D0%B8%D0%BF%D0%BF&amp;diff=2364&amp;oldid=prev</link>
			<description>&lt;p&gt;Основной текст&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая статья&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Перфекционист =&lt;br /&gt;
&lt;br /&gt;
''Если вы хоть раз слышали о движке SQLite для баз данных, и хотите внести свой вклад... то пожалуйста! Его автор, '''Ричард Хипп''' ('''Richard Hipp'''), горячо приветствует любые начинания. Он и объяснит, почему.''&lt;br /&gt;
&lt;br /&gt;
{{Врезка|left|&lt;br /&gt;
Заголовок = Визитка LXF &amp;lt;br /&amp;gt;&lt;br /&gt;
Ричард Хипп (Richard Hipp)|&lt;br /&gt;
Содержание = Создал встраиваемую систему БД SQLite, известную пользователям мобильных телефонов, КПК, а в последнее время все более популярную и на домашних Пк. На конференции OSCon в 2005 году за свою работу награжден премией Open Source Award (учредители – Google/O’Reilly) в номинации «Лучшей интегратор».&lt;br /&gt;
&lt;br /&gt;
* Возраст 44&lt;br /&gt;
&lt;br /&gt;
* Национальность American&lt;br /&gt;
&lt;br /&gt;
* Сколько лет использует LINUX 12&lt;br /&gt;
&lt;br /&gt;
* Языков программирования 17&lt;br /&gt;
&lt;br /&gt;
* Количество ПК Only 5 that still work&lt;br /&gt;
&lt;br /&gt;
* Суточная норма кофе 1 cup&lt;br /&gt;
&lt;br /&gt;
* Сандалий 1 pair at a time&lt;br /&gt;
&lt;br /&gt;
Он говорит: «Рынок насыщен. У нас уже есть замечательные открытые приложения» |&lt;br /&gt;
&lt;br /&gt;
Ширина=250px}}&lt;br /&gt;
&lt;br /&gt;
''Изучение SQL и нормализации баз данных (БД) всегда были сложными темами для студентов, но знаете ли вы, как сложно создать собственную БД, подготовить ее для публикации, и наконец представить ее всему миру на критический анализ? Доктор '''Ричард Хипп''' сделал это, создав SQLite (произносится Эс-кью-элл-айт) – один из наиболее успешных проектов public domain. Нам удалось отловить Ричарда на конференции OSCon (Open Source Convention) и всесторонне обсудить с ним спонсорскую поддержку AOL, стандарты кодирования и жизнь в мире public domain.'' &lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Начнем с начала. Представим доктора Хиппа до изобретения им SQLite. Когда вы стали интересоваться базами данных?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' когда я закончил университет и получил новенький диплом доктора философии (PhD, что в отечественной науке соотвествует кандидату наук, – прим.ред.) в 1992 году.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' В области компьютерных наук, насколько я понимаю?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Да, я стал магистром в области радиоэлектроники и информатики. Во времена, когда я оканчивал университет, рынок был перенасыщен специалистами, которые хотели работать в образовательных учреждениях. На одну вакансию претендовало сразу 500 человек, 475 из которых были квалифицированнее меня. Поняв это, я решил организовать свой бизнес и заняться консалтинговыми услугами. Я распланировал для себя, как я буду работать с клиентами из года в год... у них будут сложные проблемы, а я буду разрабатывать для них решения, которые до меня еще никто не предлагал. Работая над подобными проблемами, я стал замечать, что организации, покупающие мои услуги, никогда не бывают монолитными, в каждой клиентской компании была своя структура, и однажды клиент настоял на внедрении базы данных. На тот момент у них уже была унаследованная БД Informix, работавшая на HP-UX. Informix неплохо работала и делала все, что от нее требовалось, но иногда компьютер приходилось выключать, а затем запускать снова, после чего БД могла нормально не заработать. В этот момент программа, над которой в том числе работал и я, выдавала сообщения об ошибках и не могла подключиться к базе данных. Из-за того, что я отвечал за пользовательский интерфейс, вину приписывали мне, несмотря на то, что эта была проблема сервера Informix! Мы собрались и решили, что «Если нам что-то и нужно, так это встроенный механизм БД SQL, который бы считывал данные из файла и не терял контакта с самой БД». Эта идея так и осталась тогда невоплощенной, но впоследствии, когда у меня не было работы, я как-то сказал себе: «Я возьмусь за это дело, обязательно возьмусь. Мне интересно то, как работает движок базы данных SQL, поэтому я напишу собственный вариант, ведь это лучший способ понять, как все на самом деле устроено». Так началась история SQLite.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Вот как вы в это ввязались...&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Да, я не изучал теорию БД, у меня был ноль знаний в этой области. Однажды, копаясь в университетской библиотеке, я наткнулся на копию... стандарта SQL-89, кажется так, да... Я прочитал его и подумал: «Это, конечно, все здорово, но, по-моему, не имеет никакого отношения к тому, чем я сейчас занимаюсь». Десять лет спустя я вернулся к этому и оказалось, что род моих занятий несколько изменился и это самое «отношение» все же появилось.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Планировали ли вы сразу опубликовать первую версию? Не было ли вам страшно, или что-то в таком духе?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Нет, не было. Версия 1.0 использовала для хранения формат GDB, так, что на каждую таблицу или оглавление приходилось по отдельному файлу. Тогда еще не было транзакций, потому что GDB их не поддерживал. Я также не мог делать множество вещей, так как все тот же GDB базировался на хешировании и не предоставлял данные в упорядоченном виде, так что я не мог толком воспользоваться индексами. Мне действительно требовалась база данных на основе двоичных деревьев (B-tree). Я обратил внимание на BerkeleyDB и провел день или два за чтением документации, которой не было конца. После двух суток чтения я подумал: «Это действительно сложно», и решил, что напишу свое собственное хранилище. Итак, я достал с полки Каммингса и стал читать все, что там было относительно моей темы. Так появилась моя собственная реализация слоя b-tree и проект версии 2.0. Знаете, я ведь до сих пор учусь на своей работе, поэтому версия 2.0 была... в общем, я сделал много ошибок в первоначальном варианте, хотя потом все стало значительно лучше – где-то к версии 2.7. 2.8 была уже очень хороша. Вся система была, конечно, еще очень простой. Но этого было достаточно, чтобы ее заметили. К делу подключился PHP...&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Тогда как раз была версия 2.8?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' да, 2.8. Apple впервые заметила проект, когда тот был на версии 2.7 или 2.8. Множество людей стало им пользоваться. Потом ко мне проявила интерес AOL, которая хотела использовать SQLite в своих решениях. Они сказали: «Эй, Ричард, нам нужная многоязыковая поддержка и кое-какие другие функции». Я тогда готовил к выпуску версию 3.0 с исправлениями существовавших ошибок и ответил AOL: «Я все сделаю, мне лишь нужно время – около года, но кое-что будет уже в этом июне» – дело было в 2004 году. Тогда они сказали: «Давай мы тебе заплатим, а за это ты будешь согласовывать свой график с нами?». Я сказал «Хорошо» и назвал сумму. &lt;br /&gt;
&lt;br /&gt;
'''LXF:''' И вы успевали в срок?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Ну, со мной тесно сотрудничал Дэн Кеннеди (Dan Kennedy). Дэн работал на одну компанию в Брисбене, которая использовала SQLite; он присылал мне исправления, которые были действительно очень хороши – он на самом деле хорошо работал – так что с его помощью мы вместе проделали за два месяца путь с нуля до версии 3.0 Мы писали базовую часть слоя b-tree, переделывали многие другие фрагменты, работали сутки напролет в течение двух месяцев, так как расписание есть расписание. Так появилась на свет версия 3.0.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' SQlite 3.0 получилась совсем-совсем другой. Изменился формат файла – наверное потому, что вы переписали все с нуля, а AOL, очевидно оплачивала все расходы.&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' AOL позволила мне посвящать все мое время работе над SQLite, потому что мне ничего не надо было больше делать для обеспечения своего существования. Мне также удалось оплатить работу Дэна.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' AOL до сих пор вас поддерживает?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Нет, это было только один раз. На самом деле, AOL даже не платила нам за поддержку, но поскольку нам все же выдавались деньги, на любой их звонок я должен был по первой команде прибегать и решать их проблемы. Технически, однако, тот контракт уже давно недействителен. Я стал понимать, что они довольны получившимся продуктом и продолжают им пользоваться, хотя мне и не совсем ясно, как именно.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Говоря о формате файлов, можно заметить, что он не сильно изменился по сравнению с версией 2.0. Было ли так необходимо переписывать слой b-tree?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Наверно, нет. Я всего лишь применил накопленные знания и получил то, что есть. Я хотел снять прежние жесткие ограничения. В старой версии можно было работать не более, чем с 16 Мб, теперь же это число составляет что-то вроде 264 Mb. На протяжении двух лет я набирался знаний и многому научился: «когда я перепишу слой b-tree, я сделаю его другим». Но я не мог просто накладывать изменения друг на друга, так как нужно было еще сохранить и совместимость. Я думал так: «когда я выпущу версию 3.0, я должен буду собрать все компоненты и заново их подогнать друг под друга». Таков был мой план.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Кажется удивительным, как Apple и PhP могли не дождаться версии 3.0, прежде, чем браться за SQLite...&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Apple принялась за работу во времена версии 2.8, и только в Tiger (Mac OS X 10.4) появилась версия «три-точка-что-то-там». Они могли не торопиться, потому что время работало на них, чего нельзя сказать о PHP. Тем не менее, она все же вошла в раздел PDO в PHP (смотри учебник PHP на стр. 76)&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Расскажите, как SQlite стала достоянием общественности (public domain)&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Ну, версия 1.0 была лицензирована по GPL. По-другому было нельзя, так как GDB сам распространялся по этой лицензии. Когда на подходе была версия 2.0, я задумался: «какую же лицензию выбрать? Можно остановиться на LGPL, но в ней много запретов. Другой вариант – лицензия BSD или подобная». Но потом я задумался: «Почему именно лицензия BSD? Что она дает такого особенного? Что мне мешает сделать проект достоянием общественности и покончить с этой проблемой?» В случае с BSD, каждый может использовать проект как захочет, так же и я решил явно предоставить всем желающим свои наработки, отказаться от авторских прав. С тех пор ко мне успело обратиться много юристов. Они говорили: «Слушай, тут есть риск, кто-нибудь может подать на тебя в суд». Но я отношусь к этому скептически.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Ну да, это же достояние общественности!&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Да, но я не чувствую себя уязвимым перед судом. допустим, какая-то корпорация взяла этот код, включила в свое приложение, это приложение что-то испортило, а отвечать мне? Как-то слишком за уши притянуто, даже для американского суда. Так что я особо не беспокоюсь.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Как же вы перешли от GPL к public domain? Или вы были единственным автором проекта?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Я был единственным автором и потому мог делать все, что считал нужным. В момент перехода к public domain, каждая строка кода была написана мной.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Насколько велик был проект в тот момент?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Наверное, 20 000 строк кода.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Скажите, а люди, которые участвуют в разработке SQlite и предлагают свой код, теперь должны что-нибудь подписывать?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Я предлагаю им заполнить форму, которая делает их наработки достоянием общественности. Они отказываются от использования своих прав в будущем. Этот подход основан на лицензии Creative Commons.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Много ли людей участвуют в разработке?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Две недели назад я открыл дерево разработки (CVS) и стал изучать, кто и сколько создает кода. Посчитав количество строчек, я выяснил, что 69% кода принадлежало мне, 30% - Дэну Кеннеди. Оставшийся 1% приходился, кажется, на шестерых прочих участников, из которых самый активный выдавал полпроцента кода. Так что в основном над проектом работаю я.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Может быть это потому, что public domain отпугивает людей?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' От сотрудничества? Не знаю. Я вижу, как лицензия BSD вредит проекту OpenBSD. Вообще, по моему мнению, успех Linux и неудачи OpenBSD связаны с тем, что Linux распространяется на условиях GPL, и люди с уверенностью предлагают свой код, зная, что плоды их труда никто не сможет использовать неправомочно. Однако я считаю, что причиной такого малого числа участников SQLite является то, что я слишком придирчиво отношусь к коду, который идет в ядро. Дело во мне, а не в чем-то другом. Люди постоянно присылают мне исправления, и я действительно приветствую это, но у меня есть свои соображения по поводу того, как должен выглядеть код, как его надо комментировать, какие делать отступы... И дело даже не в оформлении, а в структуре. Множество людей присылают мне исправления и другие полезные вещи. Я это ценю, но все равно думаю: «Вы это не продумали, не попытались максимально упростить код, не переписывали его три-четыре раза...» Мне нравится писать настолько простой код, насколько это возможно.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Как раз об этом свойстве SQlite многие сейчас говорят. Это один из немногих открытых проектов, имеющих очень хорошую документацию, удобно размеченный и прокомментированный код. Можно взглянуть в любое место кода, и сразу все понять, – это в наше время кажется диковинкой. &lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Это и было моей целью...&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Это как-то связано с тем, что ваш код является достоянием общественности? Я имею в виду, если бы он не был столь хорошо документирован, люди бы больше полагались на вас, а сейчас он живет сам по себе...&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Люди не могут, да и не должны все время обращаться ко мне. да, это правда. Когда все начиналось, я не знал, является ли это решение здравым, но сейчас я в этом уверен. &lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Вы ведь всего лишь увлеченный программист, не так ли?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Причина того, что я так закапываюсь в код и настаиваю на том, чтобы он был хорошо прокомментирован, заключается в моей личной проблеме – у меня на удивление плохая память, и если я не разложу код по полочкам, через две недели я уже не буду помнить, что он делает! Еще мне было любопытно, как работают базы данных «изнутри». Я стал читать материалы о PostgreSQL и подобных вещах в Интернете и лишь через шесть или девять месяцев я действительно понял, как все это работает. Я хотел, чтобы любой, кто интересуется БД, мог взять мою программу, вчитаться в ее код и сказать: «Теперь я лучше понимаю, как должен работать движок БД».&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Как раз одно из главных преимуществ свободного ПО – возможность программистов учиться друг у друга через исходный код.&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Да, я стараюсь, чтобы комментарии приносили пользу. Если комментарий не удовлетворяет этому требованию, я думаю: «Что он здесь делает? Выкинуть его!»&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Что нового появится в SQlite 4.0?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' На самом деле, я надеюсь не добраться до версии 4.0. Переход к четвертой версии будет оправдан только в том случае, если потребуется сделать несовместимое изменение формата файлов.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Так что, через десять лет все еще будет ходить версия 3.9.9.9.6.3?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Не исключено. В данный момент я занимаюсь оптимизатором запросов. Его эффективность напрямую зависит от грамотного выбора индекса, и здесь есть над чем потрудиться. Традиционно это было слабой стороной SQLite. Если вы корректно написали запрос, он найдет то, что вам нужно, но не уделит достаточно времени его изучению и составлению наилучшего плана выполнения. Коммерческие клиент-серверные БД, напротив, тратят много времени на оптимизацию плана запроса. Эта деятельность финансируется одной компанией, поэтому я могу заниматься ею, не заботясь о своем пропитании. Как только я разберусь с оптимизацией запросов, я планирую заняться ссылочной целостностью. Я займусь этим по собственному желанию, мне не оплачивают эту работу.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Вы можете представить, что будете поддерживать SQL92, даже нет, давайте смотреть шире – SQL99?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Я не пытаюсь сделать из этого продукт. Я продаю услуги. Люди, которые обращаются ко мне за помощью, используют SQLite во встраиваемых устройствах. Их главные приоритеты – небольшой расход памяти и низкое энергопотребление. Так что я полностью сконцентрирован на решении этих проблем, так как эти люди – хорошие клиенты, они придут снова, и я хочу быть уверен, что у них все будет в порядке. Какой бы ни была последняя версия – SQL 99, 2003, она всегда будет съедать память и замедлять систему, поэтому я буду сопротивляться изо всех сил.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' SQlite действительно работает очень-очень быстро. А еще она очень-очень маленькая. Если придется от чего-то отказываться, что вы выберете?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Я не знаю. Клиенты со встраиваемыми устройствами хотят и того, и другого сразу. «Быстрый» в данном случае означает «расходующий меньше энергии». Программа быстро делает свою работу и после этого перестает «висеть на шее» у аккумулятора. Маленький размер важен из-за того, что в таких устройствах каждый байт ОЗУ или Flash-памяти на счету. «Ричард, нельзя ли уменьшить загрузку памяти на 12 байт?» – «Конечно, почему бы и нет?»&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' По идее, объем памяти должен расти быстрее, чем емкость аккумуляторов...&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Наверно, так. Но с ростом объема памяти SQLite пытаются запихнуть во все более крохотные устройства. Конечно, проблем с установкой БД в телеприставку не возникает, но если представить себе SQLite в мобильном телефоне, наручных часах или на смарт-карте (как раз этим сейчас все и занимаются), то мы снова возвращаемся к прежним проблемам. &lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Эта простота чувствуется и в том, как SQlite смотрит на вещи. Вы, к примеру, говорите ей: «Это целое, это длинное целое, а это – строка», а она вам в ответ: «Да какая разница…». Насколько я знаю, она многое игнорирует. Это так специально задумано, или вы собираетесь это исправить?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Так задумано. Я очень люблю это свойство программы, потому что большую часть клиентских задач я решаю в языках программирования сценариев, таких как Tcl/Tk, и там все работает по тому же принципу.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Давайте уточним: программа обрабатывает все как строки?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Версия 2.0 обрабатывала все как строку. Версия 3.0 различает целые, числа с плавающей точкой, строки и двоичные данные (тип BLOB), но она позволяет вам разместить все эти четыре типа в одной колонке таблицы (на разных строках). В традиционных БД SQL так делать нельзя: вы должны объявить тип данных для столбца, например, «short int», после чего сможете поместить в него только целые числа из определенного диапазона значений. В SQLite вы можете задать столбцу тип данных «short int» и поместить в него все, что считаете нужным.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Если вы можете разместить в числовом поле строку, то является ли оно числовым полем? Вот в чем вопрос.&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Знаете, я думаю, что строгая типизация SQL есть ошибка в проектировании этого языка. Я уверен, что этот принцип изначально был заложен для того, чтобы авторы БД могли заранее определить, сколько дискового пространства будет занимать строка таблицы. Они не хотели пойти другим, более сложным путем: работать с записями переменной длины. Так что это, по сути, вопрос реализации..&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' ...пожалуй, это уже не актуально&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Это база данных: она нужна для хранения информации, а не для того, чтобы вы занимались ее форматированием. Такова моя точка зрения. Справедливости ради, нужно сказать, что есть и другие. Однако я пришел из мира скриптовых языков, в которых очень ценится возможность поместить что угодно в какую угодно переменную.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' В общем, так оно должно быть.&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' ко мне постоянно приходят люди и говорят: «Когда вы это исправите?» Но ведь здесь нет ошибки! Я думаю, что эти просьбы связаны с устоявшимися стереотипами, ведь SQL всегда делал это по другому, и сейчас, когда я расширил структуру языка, многие могут сказать: «Мы никогда не применяли этот способ, это не похоже на SQL»&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Какую вы сами себе отводите роль в развитии SQlite?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Я хочу продолжать делать то, что делаю – то есть поддерживать проект. SQLite не требует серьезных усилий для поддержки, потому что не создает больших проблем. Я пытаюсь привлечь к этой работе новых людей, с тем, чтобы если на пути домой я попаду под автобус, кто-то занял бы мое место. Дэн Кеннеди более чем способен на все, что только может потребоваться сделать, он – что-то вроде моей «резервной копии». Но было бы лучше, если бы появилась группа людей, которая бы достаточно хорошо понимала код и могла уверенно исправлять ошибки.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' Это и есть ваша нынешняя цель?&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Я бы не отказался от помощи целой охапки Дэнов Кеннеди. Я знаю, что хочу слишком многого, ожидая прихода суперталантливых людей, потому что такие люди уже работают над другими проектами. Было бы здорово воспитать себе помощников и привлечь их к проекту. Знаете ли, мое имя нигде не встречается в исходном коде.&lt;br /&gt;
&lt;br /&gt;
'''LXF:''' «Жалобы и предложения направляйте по адресу dan.kennedy@...»&lt;br /&gt;
&lt;br /&gt;
'''РХ:''' Предоставление кода в public domain было большим шагом вперед. Это было похоже на свадьбу вашего первенца. Действительно, такое решение трудно принять, ведь я потратил столько времени и сил на свой проект, а потом отпустил его, даже специально перечитал код и удалил оттуда свое имя. Это больше, чем просто юридический шаг: я на самом деле выпустил свое детище на свободу. И продолжаю делать то же самое, то есть – отпускать его дальше. Возможно, это противоречит высказанному мною мнению по поводу того, кто может вносить свой вклад в код, но я так не считаю. Я не пытаюсь уберечь свой код, я оберегаю общий код.&lt;/div&gt;</description>
			<pubDate>Mon, 17 Mar 2008 09:16:59 GMT</pubDate>			<dc:creator>Alias</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF73:%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B2%D1%8C%D1%8E:_%D0%A0%D0%B8%D1%87%D0%B0%D1%80%D0%B4_%D0%A5%D0%B8%D0%BF%D0%BF</comments>		</item>
	</channel>
</rss>