Я не очень внимательно слежу за судом Оракла и Гугля, но, насколько я понимаю, на сегодня Гугль уличили в копировании куска кода из Оракла, а именно - функции rangeCheck(). Вот как эта функция выглядит сейчас:
Насколько я понимаю, это уже после устранения краденого из Оракла кода, но можно видеть, сколь мощный кусок интеллектуальной собственности, без которого Андроид никогда бы не имел шанса на рынке, Гугль пытался нагло украсть. Я думаю, это вполне стоит двух миллиардов долларов, которые Оракл требовал у Гугля.
Интересно также почитать беседу судьи Алсупа с адвокатом Дэвидом Бойесом (Оракл). Судья говорит - дескать, это ж тривиальный код, я сам такой могу написать одной левой. Адвокат отвечает, что он сам не смог бы справиться с написанием вышепроцитированного кода и за полгода. Что напоминает мне старую шутку про адвокатов.
private static void rangeCheck(int arrayLen, int fromIndex, int toIndex) {
if (fromIndex > toIndex)
throw new IllegalArgumentException("fromIndex(" + fromIndex +
") > toIndex(" + toIndex+")");
if (fromIndex < 0)
throw new ArrayIndexOutOfBoundsException(fromIndex);
if (toIndex > arrayLen)
throw new ArrayIndexOutOfBoundsException(toIndex);
}
Насколько я понимаю, это уже после устранения краденого из Оракла кода, но можно видеть, сколь мощный кусок интеллектуальной собственности, без которого Андроид никогда бы не имел шанса на рынке, Гугль пытался нагло украсть. Я думаю, это вполне стоит двух миллиардов долларов, которые Оракл требовал у Гугля.
Интересно также почитать беседу судьи Алсупа с адвокатом Дэвидом Бойесом (Оракл). Судья говорит - дескать, это ж тривиальный код, я сам такой могу написать одной левой. Адвокат отвечает, что он сам не смог бы справиться с написанием вышепроцитированного кода и за полгода. Что напоминает мне старую шутку про адвокатов.
no subject
Оракл еще бы пожаловался на то, что переменная цикла называется 'i'.
no subject
http://news.ycombinator.com/item?id=3940761
И вроде он действительно его скопипейстил, хотя нет никакого сомнения, что ровно никакого IP этом коде быть не может.
no subject
no subject
Условия местами можно переставить
no subject
no subject
no subject
Раз private – не трожь! :)
Вон судья к public методам претензий не имел.
no subject
no subject
no subject
Может быть вместо if (toIndex > arrayLen) лучше проверять if (toIndex >= arrayLen)
т.к. первый элемент массива это 0, а не 1?
no subject
for (... ; i < toIndex; ...)
При таком раскладе ограничение на допустимые значения toIndex-а такое: toIndex <= arrayLen, и, соответственно ошибка, если toIndex > arrayLen.
no subject
for (... ; i <= toIndex; ...), т.к. лень держать в голове, что индекс from включается в рассмотрение, а toIndex - нет. Не люблю "выколотые точки", но это уже дело вкуса :).
no subject
no subject
no subject
no subject
no subject
no subject
Меж тем становится страшно за судьбу Oracle - сумеет ли выжить предприятие, когда несуны из Google нагло воруют с производства столь ценный код? Немедленно выписать им стимулуса, ящитаю.
no subject