The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Продемонстрирован код, который по мнению SCO был скопирован ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от opennews (ok) on 12-Июл-10, 11:19 
Юрист Кевин МакБрайд (Kevin McBride), брат бывшего главы компании SCO Group, раскрыл (http://www.mcbride-law.com/2010/07/09/lanham-act-claims-exte.../) завесу тайны над участками кода, скопированными из UNIX в Linux. Данный код фигурировал в качестве доказательств в деле о нарушении интеллектуальной собственности SCO компанией IBM, передавшей свои разработки для включения в состав Linux-ядра. По мнению юристов SCO часть переданного кода содержала участки, скопированные из кодовой базы проприетарного AT&T Unix без изменений.


Ранее фигурирующие в разбирательстве участки кода не придавались огласке, что вызывало подозрение в лукавстве, тем более, что суд не спешил признавать правоту SCO. После того, как в 2003 году, в ходе судебного разбирательства с IBM оказалось, что права на Unix принадлежат не SCO, а компании Novell, иск к IBM и дело по передаче кода Unix разработчикам ядра Linux было отложено в долгий ящик, в качестве первичной зада...

URL: http://linux.slashdot.org/story/10/07/11/2314254/Claimed-Pro...
Новость: https://www.opennet.ru/opennews/art.shtml?num=27269

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +4 +/
Сообщение от Filosof email(ok) on 12-Июл-10, 11:19 
Даже я сейчас начинаю подозревать, что их МС кормит.
Есть надежда. что если анализ кода подтвердит притянутость за уши этих притензий, то общемировое подозревание Линуха в патентоподверженности поуменьшится.
Надо только всё правильно сделать.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

49. "Продемонстрирован код, который по мнению SCO был скопирован ..."  –1 +/
Сообщение от mma on 12-Июл-10, 13:35 
>Есть надежда. что если анализ кода подтвердит притянутость за уши этих притензий,

Ну это и так очевидно, если что там и было так уже давным-давно все вычистили/переписали.

Тут суть претензий в том что IBM решила там где это возможно слить рынок Unix в пользу Linux а себе оставить рынок майнфреймов и не пускать туда новых участников. И после полно слива Novell это уже никто не мешал им сделать что и произошло десяток лет назад.

Ну а SCO оказалась пострадавшей так как их бизнес был исключительно на софте построен, вот они и горят в агонии пытаясь пока еще есть крупные клиенты пролезть в какойнить сегмент а их никто не пускает. Вот они и пытаются договориться с IBM -  вы нам сегмент, мы отстанем от линукса.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

57. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +15 +/
Сообщение от Macil on 12-Июл-10, 14:09 
Все проще. Компания Caldera прикупила ошметки SCO (которая без Group). Как показала практика, реальная стоимость приобретенных активов чуть более, чем 0 и быстро снижается. Более того, возникла самая банальнейшая внутренняя конкуренция между Caldera Linux и UnixWare. Короче, имело место быть нецелевое использование средств акционеров.

Перед ответственными замаячила реальная перспектива выступления перед советом директоров и собранием акционеров со спущенными штанами (и без вазелина). Ессно, мозги ответственных стали работать со страшной скоростью. И как результат:

1. Обвинить во всем линукс. Отвлечь внимание от корня проблемы, лишний пиар и рост капитализации.
2. Найти лохов, которые купят у SCO Group активы SCO.
3. Найти лохов, которые купят лицензии SCO Group, как на линкс, так и на UnixWare.
4. Найти лохов, которые купят акции SCO Group.
5. Инсайдерская игра на бирже. (Смотрим на график стоимости акций - сразу все будет понятно).

Как видно, по всем пунктам, кроме 2 полный успех. Да и то, какие-то лох^W венчурные капиталисты вроде бы интересуются активами SCO. Учитесь делать бизнес из воздуха, господа.

Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

172. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +1 +/
Сообщение от pavlinux (ok) on 15-Июл-10, 02:35 
> Учитесь делать бизнес из воздуха, господа.

Чтоб делать деньги из воздуха, нужны активы в размере $1.000.0000.000, пускай даже режиме ReadOnly

Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

100. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +2 +/
Сообщение от Карбофос (ok) on 12-Июл-10, 18:27 
m$ - любители половить рыбку в мутной воде. scoты получают свои чаевые и обеспечивают муть.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Толсто?"  +/
Сообщение от grafsoft (ok) on 12-Июл-10, 11:19 
Ну дык, сама суть идеи линукса - клон юникса, подумаешь функции обзывали также, структуры, заново то все делать и самим придумывать это вам не шуточки :)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "."  –2 +/
Сообщение от dimqua (ok) on 12-Июл-10, 11:58 
Не ядра Linux, а системы GNU. GNU's Not UNIX, помним, да.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

22. "."  +/
Сообщение от grafsoft (ok) on 12-Июл-10, 12:14 
А так же помним, что это фольклорное обозначение того времени, продукта похожего на то, что стоит после "NOT". Типа "копия, со смайликом"
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

3. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Аноним (??) on 12-Июл-10, 11:21 
Это смешно... Там максимум 1000 строк кода наберется. И то, по причине того чтобы есть стандарты и по ним многое должно соответствовать.
Всех претензий едва ли наберется на $1000...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Feadot email(ok) on 12-Июл-10, 11:38 
>Всех претензий едва ли наберется на $1000...

"Да ты что?!", тут ущерба на 1000 баксов с одного ядра, которое использовалось пользователями. А это уже триллионы-миллиарды баксов :-) В США на такой херне либо стоят империи, либо прогорают :-)

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

9. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Антон (??) on 12-Июл-10, 11:46 
>Всех претензий едва ли наберется на $1000...

Вы очень близки к истине, примерно именно такую сумму SCO затребовала от компаний, разослав году в 2003 предупреждение о нарушении их авторских прав в Linux. Только перечислять эту сумму нужно было с каждого сервера. Прикиньте, 40$ стоил тогда самый дешевый коробочный Red Hat Linux, плюс 1000$ требовала SCO за свои 100 строк кода :-)

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

4. "Сбер их кормит"  –1 +/
Сообщение от Аноним (??) on 12-Июл-10, 11:26 
только зачем?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +9 +/
Сообщение от filosofem (ok) on 12-Июл-10, 11:40 
ГЫ!! Копирайт на название функции char *strcpy(). Еще бы за использование "int main()" роялити потребовали и "int i;" запатентовали.
Интересно почему у них к Мелкософту нет аналогичных притензий? Там такие же функции.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Feadot email(ok) on 12-Июл-10, 11:46 
интересно, а сколько будет "int i;" в ядре линуха...

pS: насколько помню, самые частые переменные I,J,K,A,B,C...

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

18. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +1 +/
Сообщение от filosofem (ok) on 12-Июл-10, 12:06 
>интересно, а сколько будет "int i;" в ядре линуха...

13990

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

21. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от spanasik email(ok) on 12-Июл-10, 12:08 
>13990

Именно int i; ?


Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

23. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от filosofem (ok) on 12-Июл-10, 12:14 
Именно. В основном в драйверах и фирмварях.
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

24. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от spanasik email(ok) on 12-Июл-10, 12:16 
Плохо. Переменные обнулять нужно при объявлении, если им сразу не присваивается какое-то значение. Я думал, уж ядерщики это точно знают.


Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

25. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от filosofem (ok) on 12-Июл-10, 12:18 
Ну это не сложно пропатчить при желании. =)
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

27. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от spanasik email(ok) on 12-Июл-10, 12:21 
Это - несложно, а сколько там ещё таких объявлений. Нужно более интенсивно пользоваться инструментами анализа кода для кода, включаемого в ядро, я так считаю.
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

41. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от starik (??) on 12-Июл-10, 13:01 
Зачем? Какой  смысл в лишних инструкциях для обнуления? Просто нужно и всё?
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

52. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +2 +/
Сообщение от QuAzI (??) on 12-Июл-10, 13:48 
Смысл в предсказуемости поведения кода, если дальше где-то что-то пойдёт не так. Вообще, ИМХО, чтобы исключить криворукость, это должен компилятор контролировать. Мол если гарантированно переменная дальше инициализируется, то можно и не обнулять, а если есть варианты, то обнулять однозначно.
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

59. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +3 +/
Сообщение от pazke email on 12-Июл-10, 14:11 
> Вообще, ИМХО, чтобы исключить криворукость, это должен компилятор контролировать.

gcc это замечательно контролирует и выдает варнинги при использовании неинициализированной переменной. Потому за безмозглое обнуление локальных переменных надо руки вырывать с корнем, потому как в таком случае компилятор ничем не может помочь в поиске логических ошибок в коде.

Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

69. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +3 +/
Сообщение от Kibab email(ok) on 12-Июл-10, 14:46 
int i;
for(i=0; i<N; i++) {
...
}
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

105. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +1 +/
Сообщение от СуперАноним on 12-Июл-10, 18:47 
Пора бы уже им на C99 переползать.
Ответить | Правка | ^ к родителю #69 | Наверх | Cообщить модератору

111. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +1 +/
Сообщение от User294 (ok) on 12-Июл-10, 20:09 
>int i;

Все, сейчас SCO вас засудит за кражу их кода.

Ответить | Правка | ^ к родителю #69 | Наверх | Cообщить модератору

127. "Продемонстрирован код, который по мнению SCO был скопирован ..."  –4 +/
Сообщение от iZEN (ok) on 12-Июл-10, 22:43 
>>int i;
>
>Все, сейчас SCO вас засудит за кражу их кода.

Меняй язык программирования Це на Яву — не засудит. ;)

Ответить | Правка | ^ к родителю #111 | Наверх | Cообщить модератору

155. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +1 +/
Сообщение от User294 (ok) on 13-Июл-10, 20:29 
Там засудят за какойнить i++. Невелика разница.
Ответить | Правка | ^ к родителю #127 | Наверх | Cообщить модератору

157. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Карбофос (ok) on 13-Июл-10, 23:44 
вообще-то протензии scoтов по ядру. перепишите ядро на яве (ненаучная фантастика), тогда уж поболтаем на эту тему. ;)
Ответить | Правка | ^ к родителю #127 | Наверх | Cообщить модератору

161. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Карбофос (ok) on 14-Июл-10, 02:07 
претензии. извиняюсь
Ответить | Правка | ^ к родителю #157 | Наверх | Cообщить модератору

76. "Продемонстрирован код, который по мнению SCO был скопирован ..."  –1 +/
Сообщение от pavlinux (ok) on 12-Июл-10, 15:56 
Знают.
А вы знаете, что инициализированная переменная занимает место в сегменте данных, а не кода?
По-русски - если инитить все переменные до использования ядро будет весить 32Mb
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

77. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +1 +/
Сообщение от spanasik email(ok) on 12-Июл-10, 16:00 
про это не думал.

Ответить | Правка | ^ к родителю #76 | Наверх | Cообщить модератору

82. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от raorn on 12-Июл-10, 16:13 
>А вы знаете, что инициализированная переменная занимает место в сегменте данных, а
>не кода?

Перестаньте пороть чушь.  В сегменте кода (.text) переменным не место.  А переменные инициализированные нулём всё равно попадают в .bss.

Ответить | Правка | ^ к родителю #76 | Наверх | Cообщить модератору

83. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +1 +/
Сообщение от Sw00p aka Jerom email on 12-Июл-10, 16:21 
+1 в .bss

пс: незнаю как поступит компилятор если переменная прописанна и не будет изменяться вообще
ну типа в место константы - обычная переменная

Ответить | Правка | ^ к родителю #82 | Наверх | Cообщить модератору

119. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Ytch on 12-Июл-10, 21:32 
>пс: незнаю как поступит компилятор если переменная прописанна и не будет изменяться
>вообще
>ну типа в место константы - обычная переменная

В embedded-платформах обычно, если указан модификатор const, то в отдельной секции .const (точное название зависит от компилятора), а в зависимости от платформы, секция .const вообще может быть помещена в немодифицируемую память (типа flash program memory). Если модификатора const нет, то компиляторы обычно размещают переменные в секции с обычными переменными и инициализирует их при старте (то есть никак не учитывают тот факт, что они никогда не меняются) при этом размер растет, так как занимается двойной объем - сама переменная и данные (или код) для ее инициализации (при этом данные/код для инициализации в работе программы не используются - только один раз при старте).

Если данные инициализированы нулями, то перерасход памяти обычно меньше, так как нули-то хранить не надо, компилятор делает просто цикл при старте, обнуляющий куски памяти.


Ответить | Правка | ^ к родителю #83 | Наверх | Cообщить модератору

125. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +1 +/
Сообщение от filosofem (ok) on 12-Июл-10, 22:22 
А зачем не изменяющиеся переменные, значение которых известно при компиляции и которые используются как константы(то есть нет никаких манипуляций с их адресом), вообще в памяти размещать и адресовать, в чем профит?
Ответить | Правка | ^ к родителю #119 | Наверх | Cообщить модератору

128. "Продемонстрирован код, который по мнению SCO был скопирован ..."  –1 +/
Сообщение от Sw00p aka Jerom email on 12-Июл-10, 22:48 
вот я об этом же
скорее всего опции оптимизации это учитывают
Ответить | Правка | ^ к родителю #125 | Наверх | Cообщить модератору

132. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +1 +/
Сообщение от Ytch on 12-Июл-10, 23:30 
>вот я об этом же
>скорее всего опции оптимизации это учитывают

В некоторых компиляторах учитывают, в некоторых нет. Чтоб не полагаться на такие особенности лучше сразу написать const. А есть такие платформы и компиляторы под них, где даже const написать недостаточно, а надо еще и нестандартные ключевые слова писать (и хорошо если только директивами типа #pragma обойдется).

Ответить | Правка | ^ к родителю #128 | Наверх | Cообщить модератору

131. "Продемонстрирован код, который по мнению SCO был скопирован ..."  –1 +/
Сообщение от Ytch on 12-Июл-10, 23:24 
Например, таблица синуса (часто нужна в цифровой обработке сигналов) на несколько килобайт или таблицы для преобразования кодировок.

Естественно, писать const int SuperVal = 5; большого смысла не имеет.

Ответить | Правка | ^ к родителю #125 | Наверх | Cообщить модератору

173. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от pavlinux (ok) on 15-Июл-10, 02:55 
>А зачем не изменяющиеся переменные, значение которых известно при компиляции и которые
>используются как константы(то есть нет никаких манипуляций с их адресом), вообще
>в памяти размещать и адресовать, в чем профит?

float *ptr = &3.14159265; // низя


const float PI = 3.14159265;
float *ptr = (float *)PI // можно

Ответить | Правка | ^ к родителю #125 | Наверх | Cообщить модератору

102. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +1 +/
Сообщение от Карбофос (ok) on 12-Июл-10, 18:36 
не обязательно. переменная может быть инициализирована, а не обнулена в след. строке и пр. кроме всего компайлер выдает предупреждения в случае подозрения отсутсвия инициализации.
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

81. "Продемонстрирован код, который по мнению SCO был скопирован ..."  –3 +/
Сообщение от pavlinux (ok) on 12-Июл-10, 16:05 
>Именно. В основном в драйверах и фирмварях.

Да ты что!!!


#include <linux/version.h>
#include <linux/module.h>

int my_init(void ) {

int i;
printk(KERN_DEBUG " TEST: i = %d \n", i);
return 0;
}

module_init(my_init);

MODULE_LICENSE("GPL v2");

# insmod ./test.ko
# dmesg

TEST: i = 0


Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

92. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Sw00p aka Jerom email on 12-Июл-10, 17:17 
1) /tmp/test/hello.c:8: warning: ‘i’ is used uninitialized in this function

2) Jul 12 18:15:59 localhost kernel: init_module() called = -255520756

Ответить | Правка | ^ к родителю #81 | Наверх | Cообщить модератору

96. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Sw00p aka Jerom email on 12-Июл-10, 17:41 
>[оверквотинг удален]
>
>module_init(my_init);
>
>MODULE_LICENSE("GPL v2");
>
>
># insmod ./test.ko
># dmesg
>
>TEST: i = 0

соответсвенно из ниже следующих моих комментов - если вывести из блока переменную Ы
вот тогда будет

Jul 12 18:39:29 localhost kernel: init_module() called = 0

+ int i;
int my_init(void ) {

- int i;
printk(KERN_DEBUG " TEST: i = %d \n", i);
return 0;
}

Ответить | Правка | ^ к родителю #81 | Наверх | Cообщить модератору

133. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от pavlinux (ok) on 13-Июл-10, 02:33 
>[оверквотинг удален]
>
>Jul 12 18:39:29 localhost kernel: init_module() called = 0
>
>+ int i;
>int my_init(void ) {
>
>- int i;
> printk(KERN_DEBUG " TEST: i = %d \n", i);
> return 0;
>}

Не хочет...  
INT: i = 0


/*
*
*/
#include <linux/version.h>
#include <linux/module.h>

int i;

int my_init(void ) {

         printk(KERN_DEBUG "INT: i = %d\n", i);
return 0;

}

module_init(my_init);

MODULE_LICENSE("GPL v2");

# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-suse-linux/4.5/lto-wrapper
Target: x86_64-suse-linux
Thread model: posix
gcc version 4.5.0 20100628 [gcc-4_5-branch revision 161494] (SUSE Linux)

# uname -a
Linux suse64 2.6.32.16 #6 SMP PREEMPT Tue Jul 6 21:09:44 MSD 2010 x86_64 x86_64 x86_64 GNU/Linux

Ответить | Правка | ^ к родителю #96 | Наверх | Cообщить модератору

139. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Sw00p aka Jerom email on 13-Июл-10, 10:49 
что не хочет ???

тут будет 0 - правильно (int i - глобальная)

##########################
#include <linux/version.h>
#include <linux/module.h>

int i;

int my_init(void ) {

         printk(KERN_DEBUG "INT: i = %d\n", i);
return 0;

}

module_init(my_init);

MODULE_LICENSE("GPL v2");
###########################

Ответить | Правка | ^ к родителю #133 | Наверх | Cообщить модератору

144. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от pavlinux (ok) on 13-Июл-10, 12:26 
>что не хочет ???
>тут будет 0 - правильно (int i - глобальная)

Я собственно о том, что не инициализирована переменная не обязана
принимать какие либо значения. Более того если от версии к версии
появляются какие-то постоянные значения это не есть хорошо.

Ответить | Правка | ^ к родителю #139 | Наверх | Cообщить модератору

19. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от spanasik email(ok) on 12-Июл-10, 12:07 
Надеюсь, что нисколько.

Должно быть int i = 0;

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

40. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Andrew Kolchoogin on 12-Июл-10, 13:00 
Нет, не должно.

Таким образом вы экономите один store на каждый вызов функции. В случае, если это interrupt handler, экономия получается некислая. ;)

"Бездумная" инициализация автоматических переменных свидетельствует о непонимании того, как они обрабатываются.

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

42. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от spanasik email(ok) on 12-Июл-10, 13:08 
>Нет, не должно.

Должно. Из-за этого столько багов, что лучше обнулять.

> свидетельствует о непонимании того

а, ну да, конечно. видимо, вы самый большой специалист.

вопрос: вот код
int i;
чему равна i в месте, где эта i используется в первый раз ?

ответ - неизвестно.

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

44. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Аноним (??) on 12-Июл-10, 13:24 
Простите, но у вас какие-то дилетантские познания программирования на С. Вы ещё думаю удивитесь когда узнаете сколько в ядре goto. В месте где используется i  первый раз может быть все равно какое у неё значение, потому что использовать i можно первый раз на запись.
Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

48. "Продемонстрирован код, который по мнению SCO был скопирован ..."  –2 +/
Сообщение от spanasik email(ok) on 12-Июл-10, 13:32 
простите, уж какие есть :-)
"может быть", "может" - это не те слова, которые следует использовать при разработке надёжного ПО.

Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

60. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +2 +/
Сообщение от szh (ok) on 12-Июл-10, 14:14 
вы использовали подмену понятий, разберитесь со смыслом выражения "может быть" в верхнем посте.
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

108. "Продемонстрирован код, который по мнению SCO был скопирован ..."  –1 +/
Сообщение от spanasik email(ok) on 12-Июл-10, 19:12 
ничего я не использовал, смотрите примеры кода и выдержки из спецификаций.

насчёт того, в какой секции располагается такая переменная, действительно не уверен - как-то не было такой проблемы никогда, поэтому не изучал вопрос.

Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

114. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от axe (??) on 12-Июл-10, 20:38 
>ничего я не использовал, смотрите примеры кода и выдержки из спецификаций.

похоже что вы видимо никогда ничего на С и не писали, иначе почему вы ничего не знаете о варнингах компилятора?

>насчёт того, в какой секции располагается такая переменная, действительно не уверен -
>как-то не было такой проблемы никогда, поэтому не изучал вопрос.

это стековая переменная... ппц, какой нафиг раздел предварительно инициализированных переменных, люди??? Функция будет не реентерабельной. Не порите чушь.

Ответить | Правка | ^ к родителю #108 | Наверх | Cообщить модератору

115. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от spanasik email(ok) on 12-Июл-10, 20:40 
>похоже что вы видимо никогда ничего на С и не писали, иначе
>почему вы ничего не знаете о варнингах компилятора?

Да с чего вы взяли, что я не знаю ???

Ответить | Правка | ^ к родителю #114 | Наверх | Cообщить модератору

121. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Ytch on 12-Июл-10, 21:37 
>это стековая переменная... ппц, какой нафиг раздел предварительно инициализированных переменных, люди??? Функция
>будет не реентерабельной. Не порите чушь.

Уточнение: или стековая или регистровая. Остальное верно.

Ответить | Правка | ^ к родителю #114 | Наверх | Cообщить модератору

116. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +1 +/
Сообщение от Аноним (??) on 12-Июл-10, 20:43 
При разработке надежного ПО на C используют, как минимум, -Wall -pedantic, если на то пошло. И никаких лишних телодвижений делать не надо — проверить что может, а чего не может, способна и машина.

Ну а для реально надежного ПО - как обычно, доказательный подход, Карри-Говард, ATP и все такое.

Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

45. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от mma on 12-Июл-10, 13:24 
Это с чего вы решили? В общем как код напишите так у вас и будет - известно или нет. Ну или приведите РЕАЛЬНЫЙ пример когда из ядра где есть этот недостаток, в противном случае это бездумное следование шаблону.
Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

47. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от spanasik email(ok) on 12-Июл-10, 13:30 
какой недостаток ? что непроинициализирована переменная ? так выше цифра приведена.


Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

62. "Продемонстрирован код, который по мнению SCO был скопирован ..."  –1 +/
Сообщение от szh (ok) on 12-Июл-10, 14:16 
> какой недостаток ? что непроинициализирована переменная ?

нет, где это может привести к ошибке.

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

109. "Продемонстрирован код, который по мнению SCO был скопирован ..."  –3 +/
Сообщение от spanasik email(ok) on 12-Июл-10, 19:17 
примера кода из ядра привести не могу, хотя вот посмотрите тут уже "модуль" набросали.

да, я предпочитаю бездумно следовать этому шаблону. более того, ругаюсь очень сильно, когда вижу непроинициализированные при объявлении переменные.

это тупо лучше при отладке, когда каждый раз значение переменной известно, а не случайно, и ломает всё в непредсказуемом порядке.

в общем, пишите софт, пробуйте сами как лучше, я тут высказал своё мнение, имею право. вы пишете софт по-своему - тоже имеете право.


Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

126. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +1 +/
Сообщение от PereresusNeVlezaetBuggy email(ok) on 12-Июл-10, 22:34 
>примера кода из ядра привести не могу, хотя вот посмотрите тут уже
>"модуль" набросали.
>
>да, я предпочитаю бездумно следовать этому шаблону. более того, ругаюсь очень сильно,
>когда вижу непроинициализированные при объявлении переменные.

Ну а кому-то удобнее наоборот, когда все переменные компактно объявляются в одном месте, а присваивания идут естественным образом по ходу дела. Это помогает следить за их количеством, что в случае с именно C порой весьма актуально, и отслеживать логику работы функции, не дёргаясь глазами по коду с мыслью "а во что эта хрень была выставлена-то?". И что удобнее читать, вот это:

/* Взято из src/lib/libc/stdio/mktemp.c в OpenBSD-CURRENT */
static int
mktemp_internal(char *path, int slen, int mode)
{
        char *start, *cp, *ep;
        const char *tempchars = TEMPCHARS;
        unsigned int r, tries;
        struct stat sb;
        size_t len;
        int fd;

        len = strlen(path);
        if (len == 0 || slen >= len) {
                errno = EINVAL;
                return(-1);
        }
        ep = path + len - slen;

        tries = 1;
        for (start = ep; start > path && start[-1] == 'X'; start--) {
                if (tries < INT_MAX / NUM_CHARS)
                        tries *= NUM_CHARS;
        }
        tries *= 2;


или вот это?
/* Модифицированная версия */
static int
mktemp_internal(char *path, int slen, int mode)
{
        char *start, *cp;
        size_t len = strlen(path);
        char *ep = path + len - slen;
        char *start = ep;
        const char *tempchars = TEMPCHARS;
        unsigned int r, tries = 1;
        struct stat sb;
        int fd;

        if (len == 0 || slen >= len) {
                errno = EINVAL;
                return(-1);
        }

        for (; start > path && start[-1] == 'X'; start--) {
                if (tries < INT_MAX / NUM_CHARS)
                        tries *= NUM_CHARS;
        }
        tries *= 2;


Про то, что хороший код - читаемый код, думаю, рассказывать не надо. :) Ну а современный компилятор, как уже говорилось, спасёт от глупых ошибок.

К слову, C99-компиляторы (а объявление переменных в середине кода - это есть C99) тоже не подо все ныне используемые платформы есть...

Ответить | Правка | ^ к родителю #109 | Наверх | Cообщить модератору

134. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от pavlinux (ok) on 13-Июл-10, 02:44 
>>примера кода из ядра привести не могу, хотя вот посмотрите тут уже
>>"модуль" набросали.
>>
>>да, я предпочитаю бездумно следовать этому шаблону. более того, ругаюсь очень сильно,
>>когда вижу непроинициализированные при объявлении переменные.
>
>Ну а кому-то удобнее наоборот, когда все переменные компактно объявляются в одном
>месте, а присваивания идут естественным образом по ходу дела.

Да уж, а то некоторые приплюснутые сишнеги пишут типа такого кода


int func(void) {

int i, j;

for (i = 0; i < LIMIT; i++ )
      j += 2*i;
//  Далее строк 200 кода одной функции
//
...
// и вдруг резко

   int i = 5;
   for ( int j = 10; j < i; j++) // ну не дибилы?!
      {
       //...
    }
//
} // EOF func()

Ответить | Правка | ^ к родителю #126 | Наверх | Cообщить модератору

158. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Карбофос (ok) on 14-Июл-10, 00:56 
разве gcc не заматерится по поводу двойного объявления переменной? такое возможно разве что при выделении блоков /*{..}*/
Ответить | Правка | ^ к родителю #134 | Наверх | Cообщить модератору

159. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от pavlinux (ok) on 14-Июл-10, 01:00 
>разве gcc не заматерится по поводу двойного объявления переменной? такое возможно разве
>что при выделении блоков /*{..}*/

На i матернётся, на j - нет.

Более того, сработает вот такой маразм


#define LIMIT 25

int main(void) {

        double i;
        long long j[25];

        for ( char i = 0; i < LIMIT; i++ )
                *j += 2*i;
        i = *j;
        for ( int j; j < i; j++);
return *j;
}


Ответить | Правка | ^ к родителю #158 | Наверх | Cообщить модератору

160. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Карбофос (ok) on 14-Июл-10, 01:57 
обратил внимание только на i, поэнтому не уточнил. :) с j все понятно, ибо в теле цикла.
последний пример вообще стараюсь избегать, стыдно будет за такое перед коллегами.
Ответить | Правка | ^ к родителю #159 | Наверх | Cообщить модератору

162. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от pavlinux (ok) on 14-Июл-10, 02:20 
>обратил внимание только на i, поэнтому не уточнил. :)
> с j все понятно, ибо в теле цикла.

Тело цикла это уже иная область видимости? Сублокальная?! :)

А чё ... я не против :) если итераторы будут умирать после окончания цикла.

типа
     for (int i = 0; i < X; i++) {
      Z *= i*i;
     }

     while (int j) {
      X = j+i;      // а тут i уже будет not declared
     }

Ответить | Правка | ^ к родителю #160 | Наверх | Cообщить модератору

163. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от PereresusNeVlezaetBuggy email(ok) on 14-Июл-10, 02:52 
>[оверквотинг удален]
>типа
>     for (int i = 0; i <
>X; i++) {
>      Z *= i*i;
>     }
>
>     while (int j) {
>      X = j+i;    
>  // а тут i уже будет not declared
>     }

Помнится, одно время в C++ так и сделали.

Ответить | Правка | ^ к родителю #162 | Наверх | Cообщить модератору

167. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Карбофос (ok) on 14-Июл-10, 10:49 
>Тело цикла это уже иная область видимости? Сублокальная?! :)

по крайней мере, компайлер должен проглотить j и даже не вякать. такое тоже встречал o_O еще хуже даже видел, когда j объявлена как глобальная O_O потом почему-то начинается неожиданная хрень. :)

Ответить | Правка | ^ к родителю #162 | Наверх | Cообщить модератору

170. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от pavlinux (ok) on 14-Июл-10, 19:07 
>>Тело цикла это уже иная область видимости? Сублокальная?! :)
>
>по крайней мере, компайлер должен проглотить j и даже не вякать. такое
>тоже встречал o_O еще хуже даже видел, когда j объявлена как
>глобальная O_O потом почему-то начинается неожиданная хрень. :)

Это называется С99

Ответить | Правка | ^ к родителю #167 | Наверх | Cообщить модератору

53. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +3 +/
Сообщение от бугага on 12-Июл-10, 13:53 
int i;

for (i = 0; i < 10; i++)
{
...
}

какой ужас, это не будет работать :D

Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

84. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +3 +/
Сообщение от angel_il (ok) on 12-Июл-10, 16:33 
нет! этот код может работать неверно в боевых условиях, когда синус 90 гр. достигает трех и более.
Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

54. "Продемонстрирован код, который по мнению SCO был скопирован ..."  –1 +/
Сообщение от Аноним (??) on 12-Июл-10, 13:58 
>Должно. Из-за этого столько багов, что лучше обнулять.

А не достаточно ли просто быть внимательней, а то напоминает: http://bash.org.ru/quote/396506

Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

55. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +1 +/
Сообщение от Sw00p aka Jerom email on 12-Июл-10, 14:07 
>>"Бездумная" инициализация автоматических переменных свидетельствует о непонимании того, как они обрабатываются.

с чего это вы решили что это автоматическая переменная ???

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

86. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от pavlinux (ok) on 12-Июл-10, 16:38 
>>>"Бездумная" инициализация автоматических переменных свидетельствует о непонимании того, как они обрабатываются.
>
>с чего это вы решили что это автоматическая переменная ???

Хватит тролить. Курите маны на GCC.

.... спецификатор переменной всегда является auto, если не указано иного - static, extern или register.

Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

93. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +1 +/
Сообщение от Sw00p aka Jerom email on 12-Июл-10, 17:32 
>>>>"Бездумная" инициализация автоматических переменных свидетельствует о непонимании того, как они обрабатываются.
>>
>>с чего это вы решили что это автоматическая переменная ???
>
>Хватит тролить. Курите маны на GCC.
>
>
.... спецификатор переменной всегда является auto, если не указано иного - static, 
>extern или register.
>

покурил (я тя уважаю)
читаем внимательно последний абзац

#########################

Спецификатор класса памяти в объявлении переменной может быть auto, register, static или extern. Если класс памяти не указан, то он определяется по умолчанию из контекста объявления.

Объекты классов auto и register имеют локальное время жизни. Спецификаторы static и extern определяют объекты с глобальным временем жизни.

При объявлении переменной на внутреннем уровне может быть использован любой из четырех спецификаторов класса памяти, а если он не указан, то подразумевается класс памяти auto.

Переменная с классом памяти auto имеет локальное время жизни и видна только в блоке, в котором объявлена. Память для такой переменной выделяется при входе в блок и освобождается при выходе из блока. При повторном входе в блок этой переменной может быть выделен другой участок памяти.

Переменная с классом памяти auto автоматически не инициализируется. Она должна быть проинициализирована явно при объявлении путем присвоения ей начального значения. Значение неинициализированной переменной с классом памяти auto считается неопределенным.

############################################################

ps:

Пример:
    int global_var;
    int func(void)
    { int local_var;                      /* по умолчанию auto  */
      static int *local_ptr=&local_var;   /*  так неправильно   */
      static int *global_ptr=&global_var; /*  а так правильно   */
      register int *reg_ptr=&local_var;   /*  и так правильно   */
    }

В приведенном примере глобальная переменная global_var имеет глобальное время жизни и постоянный адрес в памяти, и этот адрес можно использовать для инициализации статического указателя global_ptr. Локальная переменная local_var, имеющая класс памяти auto размещается в памяти только на время работы функции func, адрес этой переменной не является константой и не может быть использован для инициализации статической переменной local_ptr. Для инициализации локальной регистровой переменной reg_ptr можно использовать неконстантные выражения, и, в частности, адрес переменной local_ptr.


Ответить | Правка | ^ к родителю #86 | Наверх | Cообщить модератору

94. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +1 +/
Сообщение от Sw00p aka Jerom email on 12-Июл-10, 17:37 
>>>>"Бездумная" инициализация автоматических переменных свидетельствует о непонимании того, как они обрабатываются.
>>
>>с чего это вы решили что это автоматическая переменная ???
>
>Хватит тролить. Курите маны на GCC.
>
>
.... спецификатор переменной всегда является auto, если не указано иного - static, 
>extern или register.
>

в дополнении читаем внимательно 3 и 4 пункт

1.6.4. Инициализация глобальных и локальных переменных

При инициализации необходимо придерживаться следующих правил:

1. Объявления содержащие спецификатор класса памяти extern не могут содержать инициаторов.

2. Глобальные переменные всегда инициализируются, и если это не сделано явно, то они инициализируются нулевым значением.

3. Переменная с классом памяти static может быть инициализирована константным выражением. Инициализация для них выполняется один раз перед началом программы. Если явная инициализация отсутствует, то переменная инициализируется нулевым значением.

4. Инициализация переменных с классом памяти auto или register выполняется всякий раз при входе в блок, в котором они объявлены. Если инициализация переменных в объявлении отсутствует, то их начальное значение не определено.

5. Начальными значениями для глобальных переменных и для переменных с классом памяти static должны быть константные выражения. Адреса таких переменных являются константами и эти константы можно использовать для инициализации объявленных глобально указателей. Адреса переменных с классом памяти auto или register не являются константами и их нельзя использовать в инициаторах.

Ответить | Правка | ^ к родителю #86 | Наверх | Cообщить модератору

124. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Kash (??) on 12-Июл-10, 22:01 
>[оверквотинг удален]
>
>4. Инициализация переменных с классом памяти auto или register выполняется всякий раз
>при входе в блок, в котором они объявлены. Если инициализация переменных
>в объявлении отсутствует, то их начальное значение не определено.
>
>5. Начальными значениями для глобальных переменных и для переменных с классом памяти
>static должны быть константные выражения. Адреса таких переменных являются константами и
>эти константы можно использовать для инициализации объявленных глобально указателей. Адреса переменных
>с классом памяти auto или register не являются константами и их
>нельзя использовать в инициаторах.

И как это противоречит процитированному утверждению?
По поводу явной инициализации: не вижу ничего плохого в объявлении переменных без явной инициализации в случае, когда им присваивается значение далее по коду. Есть ли какая-нибудь разница при записи в памяти поверх нулей или поверх мусора? Если же программист попробует использовать не инициализированную переменную, то его об этом известит компилятор, о чем выше писалось неоднократно.

Ответить | Правка | ^ к родителю #94 | Наверх | Cообщить модератору

130. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Sw00p aka Jerom email on 12-Июл-10, 23:00 
>И как это противоречит процитированному утверждению?
>По поводу явной инициализации: не вижу ничего плохого в объявлении переменных без
>явной инициализации в случае, когда им присваивается значение далее по коду.
>Есть ли какая-нибудь разница при записи в памяти поверх нулей или
>поверх мусора? Если же программист попробует использовать не инициализированную переменную, то
>его об этом известит компилятор, о чем выше писалось неоднократно.

int func(void)
{
    int local_var;                      /* по умолчанию auto  */
    static int *local_ptr=&local_var;   /*  так неправильно   */
.........

тады обьясните почему неправильно ??

Ответить | Правка | ^ к родителю #124 | Наверх | Cообщить модератору

135. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от pavlinux (ok) on 13-Июл-10, 03:03 
>[оверквотинг удален]
>int func(void)
>{
>    int local_var;      
>          
>    /* по умолчанию auto  */
>    static int *local_ptr=&local_var;   /*  так
>неправильно   */
>.........
>
>тады объясните почему неправильно ??

Все правильно, только лишено какой-либо логики, кроме как для теста для компилятора и ОСи.

Глупо инициализировать переменные если они редко будут использоваться:


int func(int a, int b) {

  int i, j;
  
  if ( a < b )
     return -1;

  i = a*b;

  if ( i % 5 )
     return -1;

  j = i % 5;

return i+j;
}

Как видите, при a < b значения i и j пофигу какие.

Все это можно даже упростить до:


int func(int a, int b) {

  if ( a < b )
     return -1;
  if ( (a*b) % 5 )
     return -1;
  return (a*b)+((a*b) % 5);
}

Ответить | Правка | ^ к родителю #130 | Наверх | Cообщить модератору

140. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Sw00p aka Jerom email on 13-Июл-10, 10:59 
>[оверквотинг удален]
>
 
>int func(int a, int b) {
>
>  if ( a < b )
>     return -1;
>  if ( (a*b) % 5 )
>     return -1;
>  return (a*b)+((a*b) % 5);
>}
>

нет не глупо особенно переменные которые попадают в локальную область видимости (без инициализации в них храниться мусор и порой это может стать причиной ошибки)

для глобальных - да типа "глупо"

Ответить | Правка | ^ к родителю #135 | Наверх | Cообщить модератору

145. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от pavlinux (ok) on 13-Июл-10, 12:34 
>>[оверквотинг удален]
>нет не глупо особенно переменные которые попадают в локальную область видимости (без
>инициализации в них храниться мусор и порой это может стать причиной ошибки)

Какая может возникнуть ошибка, если эту переменную я не использую?
От инициализированной локальной переменной вообще никакого толка.


int func(void) {

int i = 25; // шо такое 25 ?

do {
     i--;
} while ( i > 0 )

}


Заменяется на:

#define LIMIT 25

int func(void) {

int i;

for (i = LIMIT; i > 0; i--) {
}
}


Ответить | Правка | ^ к родителю #140 | Наверх | Cообщить модератору

146. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Sw00p aka Jerom email on 13-Июл-10, 13:20 
у вменяемых такого рода ошибок не будет

int func(void)
{
    int local_var;                      /* по умолчанию auto  */
    static int *local_ptr=&local_var;   /*  так неправильно   */

Ответить | Правка | ^ к родителю #145 | Наверх | Cообщить модератору

174. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от pavlinux (ok) on 15-Июл-10, 03:21 
>[оверквотинг удален]
>
 
>int func(int a, int b) {
>
>  if ( a < b )
>     return -1;
>  if ( (a*b) % 5 )
>     return -1;
>  return (a*b)+((a*b) % 5);
>}
>

 
inline int func(int a, int b) {

return (a < b) ? -1 : (((a*b) % 5) ? -1 : (a*b)+((a*b) % 5));
}

Гы

 
inline int func(int a, int b) {

return (  ( (a < b) || ((a*b) % 5)) ) ? -1 : ( (a*b) + ((a*b) % 5) )  );
}


гы-гы
Ответить | Правка | ^ к родителю #135 | Наверх | Cообщить модератору

58. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Sphynkx (ok) on 12-Июл-10, 14:10 
>Еще бы за использование "int main()" роялити потребовали и "int i;" запатентовали.

Надо с ними на их же языке говорить, чтоб заткнулись. Взять код какой-то неюниксовой ОСи, ровестницы юникса, найти и предъявить те же конструкции, имена переменных и пр. И пусть потом доказывают, то сами не воры и что "int i;" не сплагиировали ;-))

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

79. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Arcturus on 12-Июл-10, 16:01 
А может быть вообще какой-то базовый учебник по основам С/unix... :-)
Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

150. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от thesame on 13-Июл-10, 18:30 
>Надо с ними на их же языке говорить, чтоб заткнулись. Взять код
>какой-то неюниксовой ОСи, ровестницы юникса, найти и предъявить те же конструкции,
>имена переменных и пр. И пусть потом доказывают, то сами не
>воры и что "int i;" не сплагиировали ;-))

Ну зачем же так сложно?
Они сами на себя компромат выкатили - пример 251, syslog.h.
Имена констант и комментарии к ним совпадают.
В glibc-2.2.5/misc/sys/syslog.h:
* Copyright (c) 1982, 1986, 1988, 1993
*      The Regents of the University of California.  All rights reserved.
как того и требует лицензия Беркли.
Проследить историю этого файла вплоть до 82-83 годов можно благодаря коллекции МакКузика.

Отсюда следуют ровно две возможности:
- либо в SCO отрезали шапку Беркли (нарушили лицензию)
- либо они сознательно пытались ввести суд в заблуждение, утаивая информацию о происхождении кода

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

151. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от thesame on 13-Июл-10, 18:33 
>Они сами на себя компромат выкатили - пример 251, syslog.h.

поправка - пример 247

Ответить | Правка | ^ к родителю #150 | Наверх | Cообщить модератору

152. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от PereresusNeVlezaetBuggy email(ok) on 13-Июл-10, 18:36 
>[оверквотинг удален]
> *      The Regents of the University
>of California.  All rights reserved.
>как того и требует лицензия Беркли.
>Проследить историю этого файла вплоть до 82-83 годов можно благодаря коллекции МакКузика.
>
>
>Отсюда следуют ровно две возможности:
> - либо в SCO отрезали шапку Беркли (нарушили лицензию)
> - либо они сознательно пытались ввести суд в заблуждение, утаивая информацию
>о происхождении кода

А вариант, что это в BSD остался огрызок чужого кода, вы не рассматриваете? Я серьёзно.

Ответить | Правка | ^ к родителю #150 | Наверх | Cообщить модератору

153. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от thesame on 13-Июл-10, 20:12 
>А вариант, что это в BSD остался огрызок чужого кода, вы не
>рассматриваете? Я серьёзно.

Нет. syslog.h из glibc-2.2.5 основан на дистрибутиве 4.4BSD-Lite2, который является лицензионно чистым (не содержит проприетарных файлов от AT&T) и был выпущен после судебного разбирательства BSD vs. USL.

Ответить | Правка | ^ к родителю #152 | Наверх | Cообщить модератору

154. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от PereresusNeVlezaetBuggy email(ok) on 13-Июл-10, 20:15 
>>А вариант, что это в BSD остался огрызок чужого кода, вы не
>>рассматриваете? Я серьёзно.
>
>Нет. syslog.h из glibc-2.2.5 основан на дистрибутиве 4.4BSD-Lite2, который является лицензионно чистым
>(не содержит проприетарных файлов от AT&T) и был выпущен после судебного
>разбирательства BSD vs. USL.

То есть он появился _после_ того судебного разбирательства? Тогда это радует. :)

Ответить | Правка | ^ к родителю #153 | Наверх | Cообщить модератору

156. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от thesame on 13-Июл-10, 21:08 
>>Нет. syslog.h из glibc-2.2.5 основан на дистрибутиве 4.4BSD-Lite2, который является лицензионно чистым
>>(не содержит проприетарных файлов от AT&T) и был выпущен после судебного
>>разбирательства BSD vs. USL.
>
>То есть он появился _после_ того судебного разбирательства? Тогда это радует. :)
>

Если быть совсем точным, то копирайт _сохранился_ (1982, 1986, 1988, 1993), т.е. USL никогда не претендовала на то, что syslog - это их разработка.
А вообще, насколько я сумел понять, ноги syslog растут из sendmail (тоже берклиевская разработка).

Ответить | Правка | ^ к родителю #154 | Наверх | Cообщить модератору

63. "Продемонстрирован код, который по мнению SCO был скопирован ..."  –1 +/
Сообщение от User294 (ok) on 12-Июл-10, 14:22 
>Еще бы за использование "int main()" роялити потребовали и "int i;" запатентовали.

Так вот какой код скопировали из Unix в линух?! Блин, этак меня SCO тоже засудит за копипасту :(.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

7. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +3 +/
Сообщение от mvalery email on 12-Июл-10, 11:42 
Посмотрел первые два документа.
Да. Некоторые идентификаторы совпадают или похожи.
А вот стилистика совсем другая. Чувствуется, что писали разные люди.
Я считаю, что документы готовились, чтобы поразить воображение судей, которые не сильны в программировании, в текстуальном сходстве.
А сходство не удивительно. Т.к. предметная область совпадает.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

95. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Anixx on 12-Июл-10, 17:40 
Так как имена преременных прописаны в спецификациях ELF.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

10. "Запрашивает Миша Рыцаревъ"  +/
Сообщение от ua9oas email on 12-Июл-10, 11:50 
  Интересно, а могут ли разработчики кода винды что либо заимствовать с кода линукс. А если бы код винды был бы открыт, то для кого и для чего он был бы тогда интересен?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Запрашивает Миша Рыцаревъ"  +/
Сообщение от dimqua (ok) on 12-Июл-10, 12:01 
Для злоумышленников код венды интересен.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

31. "Запрашивает Миша Рыцаревъ"  +/
Сообщение от Cobold (??) on 12-Июл-10, 12:34 
поскольку закрыт. А против открытого кода - скучно.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

38. "Запрашивает Миша Рыцаревъ"  +/
Сообщение от dimqua (ok) on 12-Июл-10, 12:58 
Но так проще. А раз все сидят на венде, то и эффективней выходит.
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

97. "Запрашивает Миша Рыцаревъ"  +/
Сообщение от Dez on 12-Июл-10, 17:45 
>поскольку закрыт. А против открытого кода - скучно.

Что мешает стянуть код части винды из сети ? (nt4 и sp3 win 2000)
смотрел когда-то на него, код как код на первый взгляд все самопальное, явных коментов типа GPL или Linux не увидел.


Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

99. "Запрашивает Миша Рыцаревъ"  +/
Сообщение от dimqua (ok) on 12-Июл-10, 18:16 
> Что мешает стянуть код части винды из сети ? (nt4 и sp3 win 2000)

Ну так ими никто не пользуется почти. Сейчас всем перделки, то есть висту и виндоуз 7 подавай.

Ответить | Правка | ^ к родителю #97 | Наверх | Cообщить модератору

15. "Запрашивает Миша Рыцаревъ"  +/
Сообщение от KERNEL_PANIC email(ok) on 12-Июл-10, 12:02 
По сути да, но тогда придется эти продукты делать свободными. А вот с БСД уже много чего нагло забрали.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

17. "Запрашивает Миша Рыцаревъ"  +6 +/
Сообщение от dimqua (ok) on 12-Июл-10, 12:05 
Почему нагло? Лицензия такая, супер-пупер свободная.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

30. "Запрашивает Миша Рыцаревъ"  +6 +/
Сообщение от Vitaly_loki (ok) on 12-Июл-10, 12:30 
Вы бы еще Public Domain наглостью назвали... Нагло было бы забрать из GPL что-нить, а из BSD это не наглость
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

37. "Запрашивает Миша Рыцаревъ"  +/
Сообщение от KERNEL_PANIC email(ok) on 12-Июл-10, 12:53 
Нагло я имею ввиду, что хотя бы в эбауте написали чтото типа "...и проект ВSD..."
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

39. "Запрашивает Миша Рыцаревъ"  +/
Сообщение от dimqua (ok) on 12-Июл-10, 13:00 
Наивно было бы ждать такого от MS :)
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

80. "Запрашивает Миша Рыцаревъ"  +3 +/
Сообщение от Michael Shigorin email(ok) on 12-Июл-10, 16:01 
"Такое" они как раз местами пишут.  Подозреваю, что даже везде или почти везде, где нужно.
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

91. "Запрашивает Миша Рыцаревъ"  –3 +/
Сообщение от User294 (ok) on 12-Июл-10, 17:11 
Только почему-то это всегда окаызывается местом где не светит солнце и куда редкий юзер забредает. Поэтому почти все юзеры уверены что все это - Copyright (с) Microsoft Corporation, XXXX-YYYY. All rights reserved.
Ответить | Правка | ^ к родителю #80 | Наверх | Cообщить модератору

65. "Запрашивает Миша Рыцаревъ"  –2 +/
Сообщение от User294 (ok) on 12-Июл-10, 14:24 
>А если бы код винды был бы открыт, то для кого и для чего он был бы тогда интересен?

Код винды уперли еще несколько лет назад. Как минимум винтукея. Большой кус ядра и ряда программ. Учтя что остальные ядра от него ничем принципиально не отличаются - в общем то сорс винды в природе есть. Только юзать его - проблематично. В итоге он вызвал интерес только у тех кто анализирует код. Можно даже найти разбор кода ноутпада где-то в ЖЖ.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

11. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Кодир on 12-Июл-10, 11:54 
SCO унылы, как протухший помидор - тоже ради интереса глянул код. Названия а-ля "buf", "len", "maxlen" можно использовать чуть ли не для половины строковых алгоритмов, делать на этой основе какие-то выводы - это позориться собственной некомпетентностью. Хотя я тоже склоняюсь к мысли, что не ради правды этот процесс.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

29. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Гога on 12-Июл-10, 12:24 
Посмотрел первые 7 ссылок. Жестко. Надеюсь, хотя бы пару программистов привлекут в качестве экспертов в суд. Если логика функции подразумевает: проверить правильность указателя и вернуть данные согласно коду функции либо код ошибки, то трудно извернуться и написать ее как-то иначе чем тут написано. Блин, у меня половина программ получается попадает под лицензии типа SCO :(.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

20. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Raja on 12-Июл-10, 12:07 
Я так понимаю что это подобно тому, как если бы оспаривалось право получать роялти за использование прямоугольных окон и других элементов управления, таких как кнопки.
Ребята, это же бред полный, нельзя даже заикаться о сходстве - область то одна и та же.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

70. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Anixx on 12-Июл-10, 15:17 
Ну так Микрософт же платила Эпплу за прямоугольные окна.
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

26. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Аноним (??) on 12-Июл-10, 12:20 
открыл 4 случайных примера. дальше даже смотреть не стал.

Однозначно все это происки Империи зла.
нет там никакого соответствия. и копипасты там нет.
возможно имел место рерайтинг;)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

32. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от ideafix email on 12-Июл-10, 12:35 
Помнится сне, толи даймлер толи еще кто-то отстегнул очень крупную сумму SCO, чтобы застраховаться от претензий... там нулей было гораздо больше чем три.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

33. "суета..."  +22 +/
Сообщение от Аноним (??) on 12-Июл-10, 12:43 
Один ученик сказал Мастеру Фу: "Нам говорят, что фирма SCO удерживает реальную власть над Unix".
Мастер Фу кивнул в знак согласия.
Ученик продолжал: "Однако нам также говорят, что другая фирма, OpenGroup, также удерживает реальную власть над Unix".
Мастер Фу кивнул в знак согласия.
"Как такое возможно?" — спросил ученик.
Мастер Фу ответил: "SCO действительно владеет кодом Unix, но код Unix — это не сама Unix. OpenGroup действительно владеет маркой Unix, но название Unix — это не сама Unix".
"В чем же тогда сущность Unix?" — спросил студент.

Мастер Фу ответил: "Не в коде. Не в имени. Не в мышлении. Вообще ничего материального.
Вечное изменение без перемен".
"Сущность Unix проста и пуста. Поскольку она проста и пуста, она сильнее тайфуна".
"Повинуясь естественным законам, она непреклонно расцветает в умах программистов,
ассимилируя конструкции в свою собственную природу. Всякое программное обеспечение, которое хотело бы конкурировать с Unix, должно стать таким, как Unix: пустым, пустым, глубоко пустым, абсолютно лишенным содержания потоком!"
Услышав это, ученик достиг просветления.

// Искусство программирования Unix, Эрик С. Реймонд

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

89. "суета..."  +1 +/
Сообщение от pavlinux (ok) on 12-Июл-10, 16:54 
> // Искусство программирования Unix, Эрик С. Реймонд

Ага, щаз, у него столько мозга нет.
Он тоже скопипастил у Конфуция из "Книги Перемен"

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

169. "суета..."  +/
Сообщение от Пр0х0жий (ok) on 14-Июл-10, 18:06 
>> // Искусство программирования Unix, Эрик С. Реймонд
>Ага, щаз, у него столько мозга нет.
>Он тоже скопипастил у Конфуция из "Книги Перемен"

Нет. Он применил универсальный закон, который понял Конфуций, к конкретной ситуации.
Никто не может быть выше Истины. Выше Истины, только Истина.

Ответить | Правка | ^ к родителю #89 | Наверх | Cообщить модератору

90. "суета..."  +1 +/
Сообщение от madfox on 12-Июл-10, 16:57 
>[оверквотинг удален]
>Вечное изменение без перемен".
>"Сущность Unix проста и пуста. Поскольку она проста и пуста, она сильнее
>тайфуна".
>"Повинуясь естественным законам, она непреклонно расцветает в умах программистов,
>ассимилируя конструкции в свою собственную природу. Всякое программное обеспечение, которое хотело бы
>конкурировать с Unix, должно стать таким, как Unix: пустым, пустым, глубоко
>пустым, абсолютно лишенным содержания потоком!"
>Услышав это, ученик достиг просветления.
>
>// Искусство программирования Unix, Эрик С. Реймонд

класс! Я только что достиг просветления!!!

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

36. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +3 +/
Сообщение от Frank email(??) on 12-Июл-10, 12:52 
Я правильно понял, что достаточно переименовать переменные, и SCO уже не при делах? ;) Курам^W программерам на смех!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

43. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +1 +/
Сообщение от Аноним (??) on 12-Июл-10, 13:13 
#include <sys/types.h> (Tab331) - это по-любому спертый у SCO участок кода ;)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

50. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Аноним (??) on 12-Июл-10, 13:36 
string.h (Tab 242) o_O
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

56. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Dorif (ok) on 12-Июл-10, 14:07 
Ну и где там сходство? В именах переменных и функций? Но хотелось бы заметить, что реализованны там одни и те же функции по- разному, ибо даж ёжикам понятно. что elf и *elf- совсем не одно и то же, а значит и функции, с ними оперирующие должны работать не совсем одинаково. А сходство названий проистекает из того, что это софт, используемый в одних и тех же целях. Они бы ещё на мелкомягких в суд подали. ЛОЛ, а не доказательство вины Novell и IBM.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

61. "Продемонстрирован код, который по мнению SCO был скопирован ..."  –1 +/
Сообщение от Zenitur on 12-Июл-10, 14:15 
О, супер! Код показали. А то надоели уже абстрактно обвинять в том, что "у вас где-то что-то нарушено, а ну платите деньги". Потому что когда изместно, где и что может хотя бы в теории вызвать вопросы - например, в функции обработки 16-ричных контрольных сумм в памяти, сразу же можно проблемный код заменить. Вариантов написано много
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

67. "Продемонстрирован код, который по мнению SCO был скопирован ..."  –2 +/
Сообщение от User294 (ok) on 12-Июл-10, 14:30 
А еще запретим всем писать int i в своих программах. Это ж копирайченый код SCO, правда? :)
Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

64. "Продемонстрирован код, который по мнению SCO был скопирован ..."  –1 +/
Сообщение от Sw00p aka Jerom email on 12-Июл-10, 14:22 
дела тут не в переменных а в реализацих

допустим смотрите про poll - что в юниксах и линуксе разная реализация ???? (не путать с epoll в линухе)

пс: отсюда выходит что если одинаковый принцип реализации то ссответсвенно программист будет придумывать более вменяемые имена переменным и функциям/ (ну и ещё один фактор - у кого в первые была реализация - что луноходы код юниксов не глазели ????)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

68. "Продемонстрирован код, который по мнению SCO был скопирован ..."  –2 +/
Сообщение от anonymous from da LOR on 12-Июл-10, 14:45 
Это чё, типа ВНЕЗАПНО стандарт POSIX стал закрытым, что они такую хрень предъявляют?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

72. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +3 +/
Сообщение от Роман (??) on 12-Июл-10, 15:28 
Да уж... а если в слове "хлеб" сделать 4 правки, то получится "пиво".
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

85. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +5 +/
Сообщение от thesame on 12-Июл-10, 16:35 
с примера tab-330.pdf я ржал аки конь и катался по полу...
там, среди прочего, был отмечен следующий плагиат:

#ifndef _LIBELF_H
#define _LIBELF_H

#include <sys/types.h>

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

87. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от pavlinux (ok) on 12-Июл-10, 16:50 
Лучшая реклама Linux за последние годы!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

88. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от alz (??) on 12-Июл-10, 16:53 
в Tab247 уже поинтереснее =)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

149. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от thesame on 13-Июл-10, 18:13 
>в Tab247 уже поинтереснее =)

ага. :)
код, написанный в Беркли и распространявшийся под Berkley лицензией...
Что и было написано в отрезанном лоерами из SCO заголовке файла. В glibc-2.2.5 копирайт Беркли сохранен без изменений.

*
*      @(#)syslog.h    8.1 (Berkeley) 6/2/93
*/

#define _PATH_LOG       "/dev/log"

/*
* priorities/facilities are encoded into a single 32-bit quantity, where the
* bottom 3 bits are the priority (0-7) and the top 28 bits are the facility
* (0-big number).  Both the priorities and the facilities map roughly
* one-to-one to strings in the syslogd(8) source code.  This mapping is
* included in this file.
*
* priorities (these are ordered)
*/
#define LOG_EMERG       0       /* system is unusable */
#define LOG_ALERT       1       /* action must be taken immediately */
#define LOG_CRIT        2       /* critical conditions */
#define LOG_ERR         3       /* error conditions */
#define LOG_WARNING     4       /* warning conditions */
#define LOG_NOTICE      5       /* normal but significant condition */
#define LOG_INFO        6       /* informational */
#define LOG_DEBUG       7       /* debug-level messages */


Ответить | Правка | ^ к родителю #88 | Наверх | Cообщить модератору

98. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +2 +/
Сообщение от mmm62 email on 12-Июл-10, 17:55 
tab251

12: /* Copyright (c) 1987, 1988 Microsoft Corporation */
13: /* All Rights Reserved */
14:
15: /* This Module contains Proprietary Information of Microsoft */
16: /* Corporation and should be treated as Confidential. */

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

112. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от User294 (ok) on 12-Июл-10, 20:20 
И, главное, какой код то сперли! Аж 2 определения констант, и те - для совместимости. Все, ворье однозначно! (интересно, а авторов wine тогда надо как минимум расстрелять?)

38: /*
39: * The following are symbolic constants required for
40: * X/Open Conformance. They are the equivalents of
41: * the constants above.
42: */
43:
44: #define UL_GETFSIZE 1 /* get file limit */
45: #define UL_SETFSIZE 2 /* set file limit */

Ответить | Правка | ^ к родителю #98 | Наверх | Cообщить модератору

118. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Sphynkx (ok) on 12-Июл-10, 21:28 
> (интересно, а авторов wine тогда
>надо как минимум расстрелять?)

Живьем!! И на смерть!!
А стремление к совместимости объявить преступной наклонностью!!

Ответить | Правка | ^ к родителю #112 | Наверх | Cообщить модератору

148. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от thesame on 13-Июл-10, 16:57 
ага.
открываю исходники OSF/1, нахожу там /usr/opt/OSC200/src/usr/include:

/*
* COMPONENT_NAME: (LIBCSYS) Standard C Library System Functions
*
* FUNCTIONS:
*
* ORIGINS: 27
*
* (C) COPYRIGHT International Business Machines Corp. 1985, 1989
* All Rights Reserved
* Licensed Materials - Property of IBM
*
* US Government Users Restricted Rights - Use, duplication or
* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
*/

#ifndef _ULIMIT_H_
#define _ULIMIT_H_

#include <standards.h>

#ifdef _XOPEN_SOURCE

#ifdef _NO_PROTO
extern long ulimit();
#else
#if defined(__STDC__) || defined(__cplusplus)
#if defined(__cplusplus)
extern "C"
{
#endif
extern long ulimit(int, ...);
#if defined(__cplusplus)
}
#endif
#endif
#endif

#define UL_GETFSIZE     1       /* get max file size limit */
#define UL_SETFSIZE     2       /* set max file size limit */

#endif /* _XOPEN_SOURCE */

#ifdef _OSF_SOURCE
#define UL_GETBREAK     3       /* get max break (data space) limit */
#endif /* _OSF_SOURCE */


#endif /* _ULIMIT_H_ */

а у IBM копирайт-то пораньше будет!

Ответить | Правка | ^ к родителю #98 | Наверх | Cообщить модератору

101. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от myc on 12-Июл-10, 18:34 
http://www.mcbride-law.com/wp-content/uploads/2010/07/Tab-24...
Эм strcasecmp() и strncasecmp() это вообще POSIX.
http://www.opengroup.org/onlinepubs/009695399/basedefs/strin...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

103. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Аноним (??) on 12-Июл-10, 18:36 
!!!"Бездумная" инициализация автоматических переменных свидетельствует о непонимании того, как они обрабатываются.!!!

Господа, а в новости речь ведь не об этом)))

а о копирастии, вернемся к теме)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

106. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Аноним (??) on 12-Июл-10, 18:49 
Я немного не в теме, поясните за что это за файл

/home/nutt/Consulting/Boies/204/S-ulimit-2.h

где стоят копирайты мелкософта и для чего он нужен?
и как там этот копирайт оказался?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

107. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от bill (??) on 12-Июл-10, 19:05 
Это кусок xenix.
Ответить | Правка | ^ к родителю #106 | Наверх | Cообщить модератору

110. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Аноним (??) on 12-Июл-10, 19:38 
почитал про Xenix-- связи SCO с Империей зла наметились давным давно))
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

117. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Vasia (??) on 12-Июл-10, 20:46 
Ну вот если из всех команд командной строки Винды убрать названия Юник-совых команд, то на самом деел останется всего три-пять команд, и внутренних и внешних. Что же тогда было раньше - M$ или Unix? С еще более интетесной стороны - если перменные называются одинаково как в закрытой так и в открытой ОС, то имеют место два случая. Первый - профуканны исходники закрытой ОС. Второй - притянуты за уши исходники открытой ОС. Теперь просьба к SCO - скомпилировать свою закрытую ОС с вставками из открытой ОС и получить идентичный код своей закрытой ОС. А вот воздух потить только потом.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

136. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Аноним (??) on 13-Июл-10, 05:49 
Кодирующим "своё" сейчас должно быть вообще неуютно. Нужно перечитать тонны кода, чтобы случайно не сплагиатить очевидный алгоритм или имена переменных/констант/функций/классов и т.п. Мало того, нужно изловчиться и написать код так, что бы не был похож не на что существующее и в то же время алгоритм соответсвовал поставленной задаче. За примерами ходить далеко не нужно, мало ли нас, начинающих кодеров не писали "своих" алгоритмов сортировки? Мы все сидели в разное время в разных местах и не знали друг о друге, но парадигма заставляла нас писать не просто похожий код, но в большинстве своём, совпадающий символ в символ...
От капиталлизма до маразма, видимо, меньше одного шага.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

138. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +1 +/
Сообщение от Вася (??) on 13-Июл-10, 08:23 
"За примерами ходить далеко не нужно"

Из личной жизни: мы с коллегой 10 лет сидели за соседними столами, потом жизнь развела. Через 5 лет встретились и в шутку нас попросили написать одну и туже простенькую программу. Так не только алгоритм, но и имена процедур, функций и переменных совпали на 99% не только по именам, но и по верхнему/нижнему регистрам

Ответить | Правка | ^ к родителю #136 | Наверх | Cообщить модератору

142. "Хм, что-то мне знакомо в имени этого юриста Kevin McBride."  +/
Сообщение от Ueff on 13-Июл-10, 11:16 
До него, например, именем Kevin звали одного ирландского священника в 7м веке.
http://en.wikipedia.org/wiki/Kevin_of_Glendalough
Сплагиатил юрист себе имечко. Надо бы заплатить.
Ответить | Правка | ^ к родителю #138 | Наверх | Cообщить модератору

164. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Аноним (??) on 14-Июл-10, 06:41 
Да, их аргументы неубедительны, но если они уже выиграют когда-нибудь, то пересмотров после этого никаких не будет. Потом SCO купит балмер. После этого предлагаю шарахнуть по ним из тополя, чтоб не наглели :)
Ответить | Правка | ^ к родителю #138 | Наверх | Cообщить модератору

141. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от ffsdmad (ok) on 13-Июл-10, 10:59 
имхо, это большое заблуждение макбрайта, видимо он не понимает в программировании ничего иначе понял бы, что над пошутили показывая наиболее частые и общие приёмы кода, это всё равно, что показывать английский и русский тексты (даже ближе), есть и буквы одинаковые по виду и слова похожие и там всякие точки, тире и зпт., к тому же авторы текстов имели одного преподавателя и читали одинаковые книжки с примерами и вообще

кто то ради шутки показал ему это, а он уверовал и носился с этими жалкими кусками заголовков по судам, скрывал от посторонних глаз и надеялся, что напал на золотую жилу, а сейчас выложил в качестве последнего доказательства

мда уж, лоханулся

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

143. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от szh (ok) on 13-Июл-10, 11:41 
у него никаких заблуждений, заработал кучу денег слив компанию SCO.
Лоханулись те кто его слушали и акции SCO в 2003-2004 году покупали.
Ответить | Правка | ^ к родителю #141 | Наверх | Cообщить модератору

165. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Аноним (??) on 14-Июл-10, 06:50 
>Юрист Кевин МакБрайд (Kevin McBride), брат бывшего главы компании SCO Group, раскрыл завесу тайны над участками кода, скопированными из UNIX в Linux.

Молодец юрист! Осталось спросить исходники ядра у джобса. С него-то можно поболее бабла вытянуть. Он вроде бы не нищщий красноглазик, скелет имеет титановый, пластмассовые органы, компьютеры, телевоны и ось для богатых гомосексуалистов производит :)

А переменные-то у него ворованные! Вот сволочь проприетарная, совсем обнаглел :D

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

175. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Аноним (??) on 29-Сен-11, 04:34 
а дарвин и так открыт)))
ttp://darwinbuild.macosforge.org/

А вот "int i;" --- это цветочки)))

"return 0;" vs "return NULL;" в tab-333

За свою жизнь я не написал ни одной програмы на С/С++ сложнее хелоувовда, которая бы выдержала такой контроль плагиата)))

Ответить | Правка | ^ к родителю #165 | Наверх | Cообщить модератору

166. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от АнонимМ email on 14-Июл-10, 09:00 
Да совпадение названий функций strcasecmp и strncasecmp это жестко (документ 241). Чистый троллинг причем толстый троллинг, даже ананимы с лора на него не повелись бы.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

168. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Аноним email(??) on 14-Июл-10, 16:17 
Ещё припомните кто мышку у ксерокса скомуниздил
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

171. "Продемонстрирован код, который по мнению SCO был скопирован ..."  +/
Сообщение от Аноним (??) on 14-Июл-10, 22:17 
ога....
и про Next еще вспомните.. и про то кто, что у них комуниздил...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру