В начале марта специалисты по безопасности провели реверс-инжиниринг прошивки BMW i3 — и обнаружили, что она работает на ядре Linux.

Поскольку система под Linux, то разработчик должен соблюдать условия лицензии GPL, то есть предоставить исходный код вместе с бинарными файлами по запросу пользователя. Тем не менее, в австралийском подразделении BMW отказались это сделать: «Для доступа на сайт загрузки программного обеспечения вы должны были предоставить семизначный VIN и принять условия пользовательского соглашения. Часть условий пользовательского соглашения гласит, что ПО находится под охраной авторского права и BMW является его единственным владельцем. Так что в этом случае оно не подпадает под действие требований "общественной" лицензии», — написали они.

К счастью, здравый смысл всё-таки восторжествовал. Хорошенько покопавшись в интерфейсе автомобильного компьютера, другой владелец автомобиля BMW i3 — программист из Великобритании Теренс Иден (Terence Eden) — нашёл ещё один адрес электронной почты, видимо, из центрального офиса BMW. Туда нужно было написать письмо для получения исходного кода ПО.



Теренс отправил запрос по указанному адресу — и ему пришёл ответ с просьбой сообщить почтовый адрес. Вчера 29 марта в своём почтовом ящике от нашёл посылку от компании BMW с диском DVD+R. На нём — 950 мегабайт исходного кода.

122 директории, 317 файлов
.
+-- [7.1M Sep 14 2011] 1000-com.st.havana.kernel-207-7.patch
+-- [2.0K Mar 16 14:32] alsa-intf-git-r3
¦ L-- [202K Jul 8 2014] alsa-intf-git-r3-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] alsa-lib
¦ +-- [ 558 Jul 8 2014] alsa-lib-1.0.24.1-r1-patches.tar.gz
¦ L-- [813K Jul 8 2014] alsa-lib-1.0.24.1.tar.bz2
+-- [790K Feb 9 2012] alsa-lib-1.0.21a-23.tar.bz2
+-- [992K Feb 9 2012] alsa-utils-1.0.16.tar.bz2
+-- [ 24K Feb 9 2012] anacron-2.3.tar.gz
+-- [2.4M Jan 26 2012] apache-etch-1.1.0-incubating-src.zip
+-- [1.1M Jan 26 2012] apr-1.3.8.tar.gz
+-- [1.2M Jan 26 2012] asn1c-0.9.21.tar.gz
+-- [1.4M Sep 23 2013] asn1c-0.9.24.tar.gz
+-- [2.0K Mar 16 14:32] atk
¦ L-- [729K Jul 8 2014] atk-2.2.0.tar.bz2
+-- [2.0K Mar 16 14:32] attr
¦ +-- [ 666 Jul 8 2014] attr-2.4.46-r3-patches.tar.gz
¦ L-- [330K Jul 8 2014] attr-2.4.46.src.tar.gz
+-- [2.0K Mar 16 14:32] audiorouter-git-r1
¦ L-- [ 20K Jul 8 2014] audiorouter-git-r1-prepatch.tar.gz
+-- [ 56K Feb 9 2012] autofs-3.1.7.tar.bz2
+-- [2.0K Mar 16 14:32] base-files
¦ L-- [3.4K Jul 8 2014] base-files-1.0-r3-patches.tar.gz
+-- [2.0K Mar 16 14:32] base-passwd
¦ +-- [1.5K Jul 8 2014] base-passwd-3.5.22-r10-patches.tar.gz
¦ L-- [ 71K Jul 8 2014] base-passwd_3.5.22.tar.gz
+-- [ 45K Feb 9 2012] base-passwd-3.5.9.tar.gz
+-- [2.3M Feb 9 2012] bash-3.0.tar.gz
+-- [272K Feb 9 2012] bc-1.06.tar.gz
+-- [ 87K Feb 10 2012] BigDigits-2.3.0.zip
+-- [2.0K Mar 16 14:32] bigreqsproto
¦ L-- [100K Jul 8 2014] bigreqsproto-1.1.1.tar.bz2
+-- [ 15M Feb 9 2012] binutils-2.19.1.tar.bz2
+-- [2.0K Mar 16 14:32] busybox
¦ +-- [ 14K Jul 8 2014] busybox-1.18.5-r44.0-patches.tar.gz
¦ L-- [2.0M Jul 8 2014] busybox-1.18.5.tar.bz2
+-- [2.0M Feb 9 2012] busybox-1.18.2.tar.bz2
+-- [2.0K Mar 16 14:32] cairo
¦ L-- [ 22M Jul 8 2014] cairo-1.10.2.tar.gz
+-- [592K Mar 8 2013] capu-2012.zip
+-- [653K Feb 9 2012] console-tools-0.2.3.tar.gz
+-- [ 58K Feb 9 2012] cron-3.0pl1.orig.tar.gz
+-- [2.0K Mar 16 14:32] cronie
¦ +-- [1.0K Jul 8 2014] cronie-1.4.8-r2-patches.tar.gz
¦ L-- [205K Jul 8 2014] cronie-1.4.8.tar.gz
+-- [2.0K Mar 16 14:32] cups
¦ +-- [1.2K Jul 8 2014] cups-1.4.6-r2-patches.tar.gz
¦ L-- [4.3M Jul 8 2014] cups-1.4.6-source.tar.bz2
+-- [3.3M Jan 26 2012] curl-7.21.0.zip
+-- [2.0K Mar 16 14:32] dbus
¦ +-- [2.1K Jul 8 2014] dbus-1.4.16-r1.0-patches.tar.gz
¦ L-- [1.8M Jul 8 2014] dbus-1.4.16.tar.gz
+-- [2.0K Mar 16 14:32] dbus-glib
¦ +-- [ 530 Jul 8 2014] dbus-glib-0.92-r1-patches.tar.gz
¦ L-- [671K Jul 8 2014] dbus-glib-0.92.tar.gz
+-- [131K Feb 9 2012] debianutils_3.2.1.tar.gz
+-- [479K Feb 9 2012] deltarpm-3.4.tar.bz2
+-- [ 174 Feb 11 7:02] desktop.ini
+-- [3.3M Jan 26 2012] DevIL-1.7.8.zip
+-- [1.0M Feb 9 2012] dhcp-4.1.0a1.tar.gz
+-- [2.0K Mar 16 14:32] dhcpcd
¦ L-- [ 69K Jul 8 2014] dhcpcd-5.2.10.tar.bz2
+-- [2.7M Nov 24 2011] DiBcom_SDK_Release_8.11.18.GPL.tar.gz
+-- [1.9M Feb 9 2012] DirectFB-1.4.3.STM2010.03.10.tar.bz2
+-- [2.0K Mar 16 14:32] dnsmasq
¦ +-- [5.0K Jul 8 2014] dnsmasq-2.55-r2-patches.tar.gz
¦ L-- [431K Jul 8 2014] dnsmasq-2.55-r2-prepatch.tar.gz
+-- [393K Feb 9 2012] dnsmasq-2.50.tar.gz
+-- [2.0K Mar 16 14:32] e2fsprogs
¦ +-- [2.8K Jul 8 2014] e2fsprogs-1.42-r1-patches.tar.gz
¦ L-- [5.4M Jul 8 2014] e2fsprogs-1.42.tar.gz
+-- [2.0K Mar 16 14:32] eglibc
¦ +-- [5.5K Jul 8 2014] eglibc-2.13-r20+svnr15508-patches.tar.gz
¦ L-- [ 22M Jul 8 2014] eglibc-2.13-r20+svnr15508-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] eglibc-initial
¦ +-- [5.5K Jul 8 2014] eglibc-initial-2.13-r20+svnr15508-patches.tar.gz
¦ L-- [ 22M Jul 8 2014] eglibc-initial-2.13-r20+svnr15508-prepatch.tar.gz
+-- [127K Feb 9 2012] ethtool-6.tar.gz
+-- [2.0K Mar 16 14:32] eventlog
¦ L-- [296K Jul 8 2014] eventlog_0.2.12.tar.gz
+-- [2.0K Mar 16 14:32] exosip
¦ L-- [222K Jul 8 2014] exosip-3.5.0-r0-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] exosip4
¦ L-- [247K Jul 8 2014] exosip4-4.0.0-r0-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] expat
¦ +-- [ 543 Jul 8 2014] expat-2.0.1-r1-patches.tar.gz
¦ L-- [436K Jul 8 2014] expat-2.0.1.tar.gz
+-- [ 16K Feb 10 2012] ezxml-0.8.6.tar.gz
+-- [2.0K Mar 16 14:32] fastjar
¦ +-- [1.4K Jul 8 2014] fastjar-0.98-r1-patches.tar.gz
¦ L-- [701K Jul 8 2014] fastjar-0.98.tar.gz
+-- [ 27K Feb 9 2012] fbset_2.1.orig.tar.gz
+-- [760K Feb 9 2012] findutils_4.1.20.orig.tar.gz
+-- [2.0K Mar 16 14:32] flex
¦ L-- [1.2M Jul 8 2014] flex-2.5.35.tar.bz2
+-- [2.0K Mar 16 14:32] fontconfig
¦ +-- [ 534 Jul 8 2014] fontconfig-2.8.0-r4-patches.tar.gz
¦ L-- [1.5M Jul 8 2014] fontconfig-2.8.0.tar.gz
+-- [2.0K Mar 16 14:32] FreeScale
¦ +-- [4.7M Jan 30 2015] linux-2.6.35.3-imx_10.12.01.bz2
¦ L-- [ 67M Jan 30 2015] linux-2.6.35.3.tar.bz2
+-- [2.0K Mar 16 14:32] freetype
¦ +-- [ 399 Jul 8 2014] freetype-2.4.8-r0-patches.tar.gz
¦ L-- [1.4M Jul 8 2014] freetype-2.4.8.tar.bz2
+-- [1.4M Feb 9 2012] freetype-2.3.11.tar.bz2
+-- [160K Jan 26 2012] freetype-doc-2.1.10.tar.bz2
+-- [653K Aug 19 2011] fribidi-0.19.2.tar.gz
+-- [156K Feb 9 2012] ft2demos-2.3.11.tar.bz2
+-- [ 63M Feb 9 2012] gcc-4.5.0.tar.bz2
+-- [ 20M Feb 9 2012] gdb-6.8.tar.gz
+-- [2.0K Mar 16 14:32] gdk-pixbuf
¦ +-- [1.2K Jul 8 2014] gdk-pixbuf-2.24.0-r2-patches.tar.gz
¦ L-- [1.6M Jul 8 2014] gdk-pixbuf-2.24.0.tar.bz2
+-- [2.0K Mar 16 14:32] giflib
¦ L-- [494K Jul 8 2014] giflib-4.1.6.tar.bz2
+-- [ 15M Feb 9 2012] glibc-2.10.1.tar.bz2
+-- [571K Feb 9 2012] glibc-ports-2.10.1.tar.bz2
+-- [3.9M Jul 3 2014] glm-0.9.5.3.zip
+-- [2.0K Mar 16 14:32] gnujaf
¦ +-- [153K Jul 8 2014] activation-1.1.1.tar.gz
¦ L-- [1.1K Jul 8 2014] gnujaf-1.1.1-r1-patches.tar.gz
+-- [2.0K Mar 16 14:32] gnumail
¦ +-- [ 522 Jul 8 2014] gnumail-1.1.2-r1-patches.tar.gz
¦ L-- [310K Jul 8 2014] mail-1.1.2.tar.gz
+-- [2.0K Mar 16 14:32] gtk+
¦ +-- [4.0K Jul 8 2014] gtk+-2.24.8-r1-patches.tar.gz
¦ L-- [ 16M Jul 8 2014] gtk+-2.24.8.tar.bz2
+-- [2.0K Mar 16 14:32] hostap-git-r3
¦ L-- [2.2M Jul 8 2014] hostap-git-r3-prepatch.tar.gz
+-- [338K Feb 9 2012] ifupdown_0.6.7.tar.gz
+-- [2.0K Mar 16 14:32] inetlib
¦ +-- [ 528 Jul 8 2014] inetlib-1.1.1-r1-patches.tar.gz
¦ L-- [238K Jul 8 2014] inetlib-1.1.1.tar.gz
+-- [2.0K Mar 16 14:32] initscripts
¦ L-- [ 16K Jul 8 2014] initscripts-1.0-r129-patches.tar.gz
+-- [2.0K Mar 16 14:32] inputproto
¦ L-- [152K Jul 8 2014] inputproto-2.0.2.tar.bz2
+-- [2.0K Mar 16 14:32] iproute2
¦ +-- [1014 Jul 8 2014] iproute2-3.2.0-r0-patches.tar.gz
¦ L-- [521K Jul 8 2014] iproute2-3.2.0-r0-prepatch.tar.gz
+-- [362K Feb 9 2012] iproute2-2.6.33.tar.bz2
+-- [2.0K Mar 16 14:32] iptables
¦ L-- [462K Jul 8 2014] iptables-1.4.12.1.tar.bz2
+-- [ 87K Feb 9 2012] iputils-s20071127.tar.bz2
+-- [102K Feb 10 2012] jasherai-oniguruma-09254fa.zip
+-- [2.0K Mar 16 14:32] jpeg-8c-r3
¦ +-- [ 12K Jul 8 2014] jpeg-8c-r3-patches.tar.gz
¦ L-- [964K Jul 8 2014] jpegsrc.v8c.tar.gz
+-- [938K Feb 9 2012] jpegsrc.v7.tar.gz
+-- [968K Jan 26 2012] jpegsrc.v8d.tar.gz
+-- [115K Jul 3 2014] jsoncpp-src-0.6.0-rc2.tar.gz
+-- [2.0K Mar 16 14:32] kbd
¦ L-- [1016K Jul 8 2014] kbd-1.15.2.tar.bz2
+-- [2.0K Mar 16 14:32] kbproto
¦ L-- [109K Jul 8 2014] kbproto-1.0.5.tar.bz2
+-- [2.0K Mar 16 14:32] keymaps
¦ L-- [7.1K Jul 8 2014] keymaps-1.0-r20-patches.tar.gz
+-- [ 37K Feb 9 2012] keyutils-1.2.tar.bz2
+-- [286K Feb 9 2012] less-394.tar.gz
+-- [2.0K Mar 16 14:32] libasrc
¦ L-- [ 36K Jul 8 2014] libasrc-1.0.0-r0-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] libcap
¦ L-- [ 59K Jul 8 2014] libcap-2.22.tar.bz2
+-- [ 52K Feb 9 2012] libcap-2.16.tar.gz
+-- [2.0K Mar 16 14:32] libffi
¦ L-- [736K Jul 8 2014] libffi-3.0.10.tar.gz
+-- [2.0K Mar 16 14:32] libgcrypt
¦ +-- [1.0K Jul 8 2014] libgcrypt-1.5.0-r0-patches.tar.gz
¦ L-- [1.7M Jul 8 2014] libgcrypt-1.5.0.tar.gz
+-- [2.0K Mar 16 14:32] libgpg-error
¦ +-- [1.0K Jul 8 2014] libgpg-error-1.10-r1-patches.tar.gz
¦ L-- [429K Jul 8 2014] libgpg-error-1.10.tar.bz2
+-- [2.0K Mar 16 14:32] libhardware-git-r4
¦ +-- [ 899 Jul 8 2014] libhardware-git-r4-patches.tar.gz
¦ L-- [ 39K Jul 8 2014] libhardware-git-r4-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] libice
¦ L-- [316K Jul 8 2014] libICE-1.0.7.tar.bz2
+-- [2.0K Mar 16 14:32] lib-libmnl
¦ L-- [ 45K Jul 8 2014] lib-libmnl-1.0-r0-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] liblinenoise
¦ L-- [ 13K Jul 8 2014] liblinenoise-1.0-r0-prepatch.tar.gz
+-- [522K Feb 9 2012] libmtp-0.2.6.1.tar.gz
+-- [2.0K Mar 16 14:32] libogg
¦ L-- [415K Jul 8 2014] libogg-1.3.0.tar.gz
+-- [803K Feb 9 2012] liboil-0.3.15.tar.gz
+-- [2.0K Mar 16 14:32] libol
¦ L-- [338K Jul 8 2014] libol-0.3.18.tar.gz
+-- [2.0K Mar 16 14:32] libpcap
¦ +-- [ 550 Jul 8 2014] libpcap-1.1.1-r1-patches.tar.gz
¦ L-- [568K Jul 8 2014] libpcap-1.1.1.tar.gz
+-- [508K Feb 9 2012] libpcap-0.9.8.tar.gz
+-- [615K Feb 9 2012] libpng-1.2.40.tar.bz2
+-- [805K Jan 26 2012] libpng-1.4.3.tar.gz
+-- [2.0K Mar 16 14:32] libpthread-stubs
¦ L-- [199K Jul 8 2014] libpthread-stubs-0.3.tar.bz2
+-- [2.0K Mar 16 14:32] libsm
¦ L-- [278K Jul 8 2014] libSM-1.2.0.tar.bz2
+-- [2.0K Mar 16 14:32] libtool-cross
¦ +-- [2.5M Jul 8 2014] libtool-2.4.2.tar.gz
¦ L-- [7.1K Jul 8 2014] libtool-cross-2.4.2-r1.1-patches.tar.gz
+-- [380K Feb 9 2012] libusb-0.1.12.tar.gz
+-- [2.0K Mar 16 14:32] libusb1
¦ L-- [324K Jul 8 2014] libusb-1.0.8.tar.bz2
+-- [2.0K Mar 16 14:32] libusb-compat
¦ +-- [245K Jul 8 2014] libusb-compat-0.1.3.tar.bz2
¦ L-- [ 606 Jul 8 2014] libusb-compat-1_0.1.3-r2-patches.tar.gz
+-- [2.0K Mar 16 14:32] libx11
¦ +-- [ 975 Jul 8 2014] libx11-1.4.4-r0-patches.tar.gz
¦ L-- [2.2M Jul 8 2014] libX11-1.4.4.tar.bz2
+-- [2.0K Mar 16 14:32] libxau
¦ L-- [255K Jul 8 2014] libXau-1.0.6.tar.bz2
+-- [2.0K Mar 16 14:32] libxcb
¦ L-- [364K Jul 8 2014] libxcb-1.8.tar.bz2
+-- [2.0K Mar 16 14:32] libxdmcp
¦ L-- [282K Jul 8 2014] libXdmcp-1.1.0.tar.bz2
+-- [2.0K Mar 16 14:32] libxext
¦ L-- [333K Jul 8 2014] libXext-1.3.0.tar.bz2
+-- [2.0K Mar 16 14:32] libxi
¦ L-- [413K Jul 8 2014] libXi-1.4.3.tar.bz2
+-- [2.0K Mar 16 14:32] libxinerama
¦ L-- [260K Jul 8 2014] libXinerama-1.1.1.tar.bz2
+-- [2.0K Mar 16 14:32] libxml2
¦ +-- [ 827 Jul 8 2014] libxml2-2.7.8-r5-patches.tar.gz
¦ L-- [4.7M Jul 8 2014] libxml2-2.7.8.tar.gz
+-- [2.0K Mar 16 14:32] libxrender
¦ L-- [252K Jul 8 2014] libXrender-0.9.6.tar.bz2
+-- [2.0K Mar 16 14:32] libxt
¦ +-- [ 577 Jul 8 2014] libxt-1_1.1.1-r1-patches.tar.gz
¦ L-- [699K Jul 8 2014] libXt-1.1.1.tar.bz2
+-- [2.0K Mar 16 14:32] libxtst
¦ L-- [275K Jul 8 2014] libXtst-1.2.0.tar.bz2
+-- [2.0K Mar 16 14:32] linphone
¦ +-- [1.1K Jul 8 2014] linphone-3.5.2-r0-patches.tar.gz
¦ L-- [6.6M Jul 8 2014] linphone-3.5.2-r0-prepatch.tar.gz
+-- [ 61M Feb 14 2012] linux-2.6.32.28.tar.bz2
+-- [2.0K Mar 16 14:32] linux-libc-headers
¦ +-- [ 74M Jul 8 2014] linux-3.1.tar.bz2
¦ L-- [ 756 Jul 8 2014] linux-libc-headers-3.1-r1-patches.tar.gz
+-- [2.0K Mar 16 14:32] linux-quic-git-2186caf8a22515c67d814a04143f421a789b874d-r3
¦ +-- [102M Jul 8 2014] linux-quic.tar.gz
¦ L-- [ 0 Jul 8 2014] symlinks_resolved
+-- [713K Feb 9 2012] lirc-0.8.6.tar.bz2
+-- [2.0K Mar 16 14:32] lk-git-r3
¦ +-- [ 694 Jul 8 2014] lk-git-r3-patches.tar.gz
¦ L-- [3.2M Jul 8 2014] lk-git-r3-prepatch.tar.gz
+-- [840K Feb 9 2012] lm_sensors-2.9.2.tar.gz
+-- [2.0K Mar 16 14:32] loc-api-git-r3
¦ L-- [279K Jul 8 2014] loc-api-git-r3-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] loc-api-test
¦ L-- [9.2K Jul 8 2014] loc-api-test-1.0-r2-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] logrotate
¦ +-- [ 627 Jul 8 2014] logrotate-3.7.9-r1-patches.tar.gz
¦ L-- [ 44K Jul 8 2014] logrotate-3.7.9.tar.gz
+-- [273K Feb 9 2012] ltrace_0.5.1.orig.tar.gz
+-- [212K Jan 26 2012] lua-5.1.4.tar.gz
+-- [916K Feb 9 2012] LVM2.2.02.73.tgz
+-- [528K Jan 14 2014] lwip-1.3.0.zip
+-- [2.0K Mar 16 14:32] lzo
¦ +-- [2.4K Jul 8 2014] lzo-2.06-r1-patches.tar.gz
¦ L-- [569K Jul 8 2014] lzo-2.06.tar.gz
+-- [9.7K Feb 9 2012] makedev-2.3.1.tar.gz
+-- [2.0K Mar 16 14:32] mediastreamer2
¦ L-- [537K Jul 8 2014] mediastreamer2-2.8.8-r0-prepatch.tar.gz
+-- [2.7K Jul 8 2011] memio-1.1.tar.bz2
+-- [ 21K Feb 9 2012] memstat_0.4.tar.gz
+-- [120K Feb 9 2012] module-init-tools-3.1.tar.bz2
+-- [102K Mar 7 2013] mongoose-3.0.tgz
+-- [2.0K Mar 16 14:32] ncurses
¦ +-- [ 898 Jul 8 2014] ncurses-5.9-r9.1-patches.tar.gz
¦ L-- [2.7M Jul 8 2014] ncurses-5.9.tar.gz
+-- [2.2M Feb 9 2012] ncurses-5.5.tar.gz
+-- [2.0K Mar 16 14:32] netbase
¦ +-- [1.4K Jul 8 2014] netbase-4.47-r0-patches.tar.gz
¦ L-- [ 35K Jul 8 2014] netbase_4.47.tar.gz
+-- [ 32K Feb 9 2012] netbase_4.34.tar.gz
+-- [131K Feb 9 2012] netkit-telnet_0.17.tar.gz
+-- [ 20K Feb 9 2012] netkit-tftp_0.10.orig.tar.gz
+-- [259K Feb 9 2012] net-tools_1.60.orig.tar.gz
+-- [260K Feb 9 2012] nfs-utils-1.0.6.tar.gz
+-- [3.2M Feb 9 2012] ntp-4.2.4p7.tar.gz
+-- [1.2M Feb 9 2012] nvi-1.79.tar.gz
+-- [2.0K Mar 16 14:32] ocf-linux-20100325-r3
¦ L-- [596K Jul 8 2014] ocf-linux-20100325.tar.gz
+-- [1.9M Sep 15 2014] OpenCTM-1.0.3-src.zip
+-- [2.0K Mar 16 14:32] openjdk-7-jre-25b30
¦ +-- [ 65M Jul 8 2014] openjdk-7-jre-25b30-2.3.12-r5.1-patches.tar.gz
¦ L-- [4.4M Jul 8 2014] openjdk-7-jre-25b30-2.3.12-r5.1-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] open-source-kernel-tests-git-r2
¦ L-- [ 21K Jul 8 2014] open-source-kernel-tests-git-r2-prepatch.tar.gz
+-- [1016K Feb 9 2012] openssh-5.1p1.tar.gz
+-- [2.0K Mar 16 14:32] openssl
¦ +-- [ 31K Jul 8 2014] openssl-1.0.0f-r15.0-patches.tar.gz
¦ L-- [3.9M Jul 8 2014] openssl-1.0.0f.tar.gz
+-- [3.6M Jan 26 2012] openssl-0.9.8j.tar.gz
+-- [3.7M Jan 26 2012] openssl-0.9.8k.tar.gz
+-- [3.8M Feb 9 2012] openssl-1.0.0a.tar.gz
+-- [2.0K Mar 16 14:32] opkg
¦ +-- [5.0K Jul 8 2014] opkg-1_0.1.8+svnr633-r7.0-patches.tar.gz
¦ L-- [170K Jul 8 2014] opkg-1_0.1.8+svnr633-r7.0-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] ortp
¦ L-- [176K Jul 8 2014] ortp-0.20.0-r0-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] osip
¦ L-- [355K Jul 8 2014] osip-3.5.0-r0-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] osip4
¦ L-- [359K Jul 8 2014] osip4-4.0.0-r0-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] pango
¦ +-- [3.5K Jul 8 2014] pango-1.28.4-r6-patches.tar.gz
¦ L-- [2.0M Jul 8 2014] pango-1.28.4-r6-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] perl
¦ +-- [ 49K Jul 8 2014] perl-5.14.2-r2-patches.tar.gz
¦ L-- [ 15M Jul 8 2014] perl-5.14.2.tar.gz
+-- [2.0K Mar 16 14:32] pimd-git-r1
¦ +-- [ 632 Jul 8 2014] pimd-git-r1-patches.tar.gz
¦ L-- [235K Jul 8 2014] pimd-git-r1-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] pixman
¦ L-- [457K Jul 8 2014] pixman-0.24.2.tar.bz2
+-- [382K Feb 9 2012] pmount_0.9.20.orig.tar.gz
+-- [2.0K Mar 16 14:32] popt
¦ L-- [686K Jul 8 2014] popt-1.16.tar.gz
+-- [ 18K Feb 9 2012] portmap_5beta.tar.gz
+-- [2.0K Mar 16 14:32] powerapp-git-r5
¦ L-- [5.3K Jul 8 2014] powerapp-git-r5-prepatch.tar.gz
+-- [275K Feb 9 2012] procps-3.2.7.tar.gz
+-- [1.8M Jan 14 2014] protobuf-2.3.0.tar.gz
+-- [2.4M Jan 26 2012] protobuf-2.4.1.zip
+-- [565K Jan 14 2014] ptpd-2.1.0.tar.gz
+-- [2.0K Mar 16 14:32] reboot-daemon
¦ L-- [3.0K Jul 8 2014] reboot-daemon-1.0-r2-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] recordproto
¦ L-- [110K Jul 8 2014] recordproto-1.14.1.tar.bz2
+-- [2.0K Mar 16 14:32] renderproto
¦ L-- [103K Jul 8 2014] renderproto-0.11.1.tar.bz2
+-- [ 44 Feb 10 2012] rootfs readme.txt
+-- [2.0K Mar 16 14:32] run-postinsts
¦ L-- [ 536 Jul 8 2014] run-postinsts-1.0-r7-patches.tar.gz
+-- [ 90K Feb 9 2012] SaWMan-1.4.3+git0.9dd19ef38313.tar.gz
+-- [ 51K Feb 9 2012] setserial_2.17.orig.tar.gz
+-- [ 26K Aug 26 2013] SHA1INDEX.idx
+-- [2.0K Mar 16 14:32] shadow
¦ +-- [3.1K Jul 8 2014] shadow-4.1.4.3-r7-patches.tar.gz
¦ L-- [1.7M Jul 8 2014] shadow-4.1.4.3.tar.bz2
+-- [1.6M Feb 9 2012] shadow-4.1.2.tar.bz2
+-- [2.0K Mar 16 14:32] shadow-sysroot
¦ L-- [4.6K Jul 8 2014] shadow-sysroot-4.1.4.3-r0-patches.tar.gz
+-- [2.0K Mar 16 14:32] shared-mime-info
¦ +-- [478K Jul 8 2014] shared-mime-info-0.91-r3-patches.tar.gz
¦ L-- [1.0M Jul 8 2014] shared-mime-info-0.91-r3-prepatch.tar.gz
+-- [ 32K May 17 2011] ShrRAM-baseline.tar.bz2
+-- [2.0K Mar 16 14:32] sipgateway
¦ +-- [2.9K Jul 8 2014] sipgateway-1.0-r0-patches.tar.gz
¦ L-- [ 49K Jul 8 2014] sipgateway-1.0-r0-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] speex
¦ L-- [1.0M Jul 8 2014] speex-1.2rc1.tar.gz
+-- [2.0M Feb 9 2012] sqlite-3.6.0.tar.gz
+-- [1.3M Jan 26 2012] sqlite-amalgamation-3071000.zip
+-- [ 61K Mar 24 2011] stlinux23-sh4-vid_firmware-dev-hv10-36.sh4.rpm
+-- [ 62K Sep 2 2011] stlinux24-host-havana-frontend-source-2.6-4.tar.bz2
+-- [180K Sep 13 2011] stlinux24-host-infrastructure-source-1.7-1.noarch.rpm
+-- [258K Mar 24 2011] stlinux24-host-linux-fusion-source-8.2.0-1.noarch.rpm
+-- [1.5M Sep 13 2011] stlinux24-host-multicom-source-4.0.5+4.0.51.Orly-4.noarch.rpm
+-- [1.2M Sep 12 2011] stlinux24-host-player2-source-int228-1.noarch.rpm
+-- [1.4M Sep 13 2011] stlinux24-host-stmfb-source-4.0_stm24_0216-1.noarch.rpm
+-- [7.1M Feb 9 2012] stlinux24-host-u-boot-source-sh4-1.3.1_stm24_0047-47.src.rpm
+-- [112K Mar 24 2011] stlinux24-sh4-fdma-firmware-20101130-4.noarch.rpm
+-- [5.4K Mar 24 2011] stlinux24-sh4-linux-fusion-headers-8.2.0-2.noarch.rpm
+-- [721K Sep 13 2011] stlinux24-sh4-linux-kernel-headers-2.6.32.16-44.1havana5.noarch.rpm
+-- [ 10K Mar 24 2011] stlinux24-sh4-stmfb-firmware-1.20-1.noarch.rpm
+-- [ 20K Sep 13 2011] stlinux24-sh4-stmfb-headers-4.0_stm24_0216-1.noarch.rpm
+-- [ 75K Sep 13 2011] stlinux24-sh4-vid_firmware-dev-hv11-2.sh4.rpm
+-- [4.5M Sep 13 2011] stlinux24-sh4-vid_firmware-mpeg4p2-hv11-2.sh4.rpm
+-- [2.8K Feb 14 2012] stlinux24-target-directfb-multi-1.4.3+STM2010.10.tar.gz
+-- [148M Feb 10 2012] stlinux24-target-qt-embedded-4.6.0-27.src.rpm
+-- [447K Feb 9 2012] strace-4.5.16.tar.bz2
+-- [770K Feb 9 2012] sysfsutils-2.1.0.tar.gz
+-- [ 85K Feb 9 2012] sysklogd-1.5.tar.gz
+-- [2.0K Mar 16 14:32] syslog-ng
¦ +-- [2.4K Jul 8 2014] syslog-ng-3.4.7-r6.1-patches.tar.gz
¦ L-- [3.1M Jul 8 2014] syslog-ng_3.4.7.tar.gz
+-- [205K Feb 9 2012] sysstat-8.0.0.tar.gz
+-- [2.0K Mar 16 14:32] system-core-git-r6
¦ L-- [915K Jul 8 2014] system-core-git-r6-prepatch.tar.gz
+-- [2.0K Mar 16 14:32] sysvinit
¦ +-- [4.3K Jul 8 2014] sysvinit-2.88dsf-r5-patches.tar.gz
¦ L-- [103K Jul 8 2014] sysvinit-2.88dsf.tar.bz2
+-- [ 96K Feb 9 2012] sysvinit_2.86.ds1.orig.tar.gz
+-- [2.0K Mar 16 14:32] sysvinit-inittab
¦ L-- [ 643 Jul 8 2014] sysvinit-inittab-2.88dsf-r8-patches.tar.gz
+-- [2.0K Mar 16 14:32] tcpdump
¦ +-- [1.7K Jul 8 2014] tcpdump-4.1.1-r1-patches.tar.gz
¦ L-- [1.5M Jul 8 2014] tcpdump-4.1.1.tar.gz
+-- [ 97K Feb 9 2012] tcp_wrappers_7.6.tar.gz
+-- [262K Feb 9 2012] termcap-2.0.8.tar.gz
+-- [129K Feb 9 2012] thttpd-2.25b.tar.gz
+-- [1.3M Feb 9 2012] tiff-3.9.1.tar.gz
+-- [2.0K Mar 16 14:32] tinylogin
¦ +-- [9.4K Jul 8 2014] tinylogin-1.4-r8-patches.tar.gz
¦ L-- [ 96K Jul 8 2014] tinylogin-1.4.tar.bz2
+-- [114K Sep 17 2014] tinyxml2-1.0.11.zip
+-- [177K Jan 26 2012] tinyxml_2_4_2.zip
+-- [284K Mar 8 2013] tinyxml_2_6_2.zip
+-- [ 11K Jan 26 2012] tlsf-2.0.zip
+-- [7.3K Jan 26 2012] trex_1_3.tar.gz
+-- [ 46K Feb 9 2012] tslib-1.0.tar.bz2
+-- [6.0K May 17 2011] uCblaze-baseline.tar.bz2
+-- [535K Feb 9 2012] udev-162.tar.bz2
+-- [ 43K Feb 9 2012] udhcp-0.9.8.tar.gz
+-- [241K Feb 9 2012] usbutils-0.86.tar.gz
+-- [2.0K Mar 16 14:32] util-linux
¦ +-- [4.7K Jul 8 2014] util-linux-2.20.1-r2-patches.tar.gz
¦ L-- [4.4M Jul 8 2014] util-linux-2.20.1.tar.bz2
+-- [4.6M Feb 9 2012] util-linux_2.16.1.orig.tar.gz
+-- [2.0K Mar 16 14:32] util-macros
¦ L-- [ 89K Jul 8 2014] util-macros-1.16.1.tar.gz
+-- [172K Feb 9 2012] vlan.1.9.tar.gz
+-- [ 41K Feb 9 2012] vlms-0.2.3.tar.gz
+-- [2.3M Feb 9 2012] wget-1.12.tar.gz
+-- [2.0K Mar 16 14:32] wireless-tools-1_29-r2
¦ +-- [1.8K Jul 8 2014] wireless-tools-1_29-r2-patches.tar.gz
¦ L-- [288K Jul 8 2014] wireless_tools.29.tar.gz
+-- [2.0K Mar 16 14:32] xcb-proto
¦ L-- [102K Jul 8 2014] xcb-proto-1.7.tar.bz2
+-- [2.0K Mar 16 14:32] xcmiscproto
¦ L-- [100K Jul 8 2014] xcmiscproto-1.2.1.tar.bz2
+-- [2.0K Mar 16 14:32] xextproto
¦ L-- [203K Jul 8 2014] xextproto-7.2.0.tar.bz2
+-- [2.0K Mar 16 14:32] xf86bigfontproto
¦ L-- [ 48K Jul 8 2014] xf86bigfontproto-1.2.0.tar.bz2
+-- [2.0K Mar 16 14:32] xineramaproto
¦ L-- [ 94K Jul 8 2014] xineramaproto-1.2.1.tar.bz2
+-- [295K Feb 9 2012] xinetd-2.3.14.tar.gz
+-- [2.0K Mar 16 14:32] xproto
¦ +-- [ 655 Jul 8 2014] xproto-1_7.0.22-r1-patches.tar.gz
¦ L-- [275K Jul 8 2014] xproto-7.0.22.tar.bz2
+-- [2.0K Mar 16 14:32] xtrans
¦ L-- [153K Jul 8 2014] xtrans-1.2.6.tar.bz2
+-- [2.0K Mar 16 14:32] zip
¦ L-- [1.1M Jul 8 2014] zip30.tgz
+-- [485K Feb 9 2012] zlib-1.2.3.tar.gz
L-- [532K Jan 26 2012] zlib-1.2.5.tar.gz
122 directories, 317 files






Чтобы другие автовладельцы не проходили этот квест, Теренс опубликовал все файлы в репозитории BMW-OpenSource на Github.

Теперь ясно, что BMW тоже выполняет условия лицензии GPL. Правда, большие корпорации медленно ворочаются, и чтобы получить от них ответ, следует набраться терпения, делает вывод Теренс Эден. В местных филиалах сотрудники вообще не обучены отвечать на такие вопросы и совершенно не понимают, о чём речь. С вопросами об исходном коде лучше сразу обращаться в центральный офис, а именно — в подразделение BMW Open Source Support. Такие же подразделения должны быть (или скоро появятся) у других автопроизводителей. В конце концов, современный автомобиль — это во многом софт, а не железо.

Комментарии (55)


  1. sad
    30.03.2016 17:04

    Судя по содержимому репозитория и строке в письме

    of used OSS
    они прислали ему только код используемых библиотек/софта, но не код, который эти библиотеки/софт использует. Соответствует ли это требованиями LGPL?


    1. DrPass
      30.03.2016 17:11
      +8

      Да, LGPL разрешает компоновку с проприетарным софтом. При условии, что это только компоновка.


      1. ChALkeRx
        30.03.2016 17:44
        +2

        Кстати, многие путают этот момент, и думают, что с LGPL нельзя делать статическую линковку, оставляя остальную часть закрытой.
        На самом деле можно, важно, чтобы у пользователя была возможность изменить исходный код библиотеки под LGPL и пересобрать весь пакет с изменённой версией.


        1. khim
          02.04.2016 17:38

          Компании, как правило, предпочитают с этим не возиться и использовать динамические библиотеки, но да — ваше замечание справедливо. В прицнипе так — тоже можно.


        1. grossws
          02.04.2016 17:40
          +1

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


    1. Des77
      30.03.2016 21:18
      +2

      Читаем лицензию LGPL, страниц там немного.


  1. amarao
    30.03.2016 17:17
    -1

    Я вижу патчи, которых я не вижу за пределами bmw, например: 1000-com.st.havana.kernel-207-7.patch
    GPL требует открыть код модификаций в GPL продукт его пользователю. Это требование выполнено. Очевидно, они не будут раскрывать код проприетарных блобиков из userspace'а, только изменённые GPL-версии.
    Что ещё раз доказывает важность GPL по сравнению с BSD/MIT, которые позволяют "захапать и не давать".


    1. heathen
      30.03.2016 18:13
      +8

      Т.е. не альтруизм, а некое "добро с палкой"? :-)
      Важность для чего, кстати?
      А мне лично больше импонируют те, кто под BSD/MIT-лицензией и подобными работает — там искренние и по-настоящему свободные исходники. Не "я тебя буду любить, но ты должен любить меня, иначе разлюблю!", а "Я тебя люблю безо всяких условий, и ты не обязан любить меня".
      P.S. Для тех, кто любит с плеча рубить: я не говорю, что GPL — плохо. Я говорю, что с моей точки зрения BSD/MIT более "свободная", нежели GPL.


      1. sHaggY_caT
        30.03.2016 18:51
        +1

        Почему бы добру не быть с кулаками :)?


        1. heathen
          30.03.2016 21:10

          Ох, это вот крайне философский вопрос. :)
          Когда добро с кулаками, всегда появляется шанс насаждения добра насильно. А я вот лично крайне и категорически против "принуждения к добру", если позволите так выразиться.


        1. minamoto
          30.03.2016 23:00
          +5

          "Добро, должно быть, с кулаками,
          С хвостом и острыми рогами,
          С копытами и с бородой.
          Колючей шерстию покрыто,
          Огнем дыша, бия копытом,
          Оно придет и за тобой!...", (с)


          1. lostpassword
            31.03.2016 11:33

            Мне кажется, "должно быть" должно быть без запятых.)


            1. minamoto
              31.03.2016 14:20

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


            1. popolit
              31.03.2016 14:25

              Если оставить в запятых, то можно переделать последнюю строчку на:
              «Придет, гневясь, и за тобой!»


      1. Goodkat
        30.03.2016 20:28
        +6

        Я говорю, что с моей точки зрения BSD/MIT более «свободная», нежели GPL
        Я тоже тратил время и карму в спорах о свободе и свободности GPL, пока где-то не прочёл высказывание Столмана на этот счёт: свободный код под GPL — это free не как free beer, и не как free speech, а как free person.
        Вы подразумеваете свободу программиста использовать чужой код — в этом понимании BSD/MIT «более свободные», тут я с вами согласен.
        Если же подразумевать свободу именно кода самого по себе, то свободней GPL трудно что-то придумать.


        1. heathen
          30.03.2016 21:08
          +3

          Я, признаться, уже не так склонен к излишнему философствованию в неурочное для этого время, как ранее. :)
          И уж тем более не хочу наделять код мистическими свойствами. Высказывание, на которое вы ссылаетесь, широко распространено, но в корне неверно: человек имеет возможность распоряжаться собой, а код, по понятным причинам, не имеет. Поэтому, как мне кажется, единственное свойство "свободы" кода — это то, как им может распорядиться НЕ его автор. И в этом ключе свободы у MIT-лицензии гораздо больше.
          Хотя, опять же, я совершенно не хотел бы превратить дискуссию в некое подобие религиозной или её как-то "тяжелить".
          Пытаясь найти аналогию: думаю, понятно, какой из двух людей вызовет у меня большую симпатию, если один из которых делает что-то с мотивом "Я сделаю тебе добро, но ты в ответ обязуешься сделать добро тоже", а второй "Я делаю тебе добро, распоряжайся им как хочешь". При этом то, что оба делают добро, заслуживает уважения. И это мы ещё не начали выснять мотивы… :-D


          1. khim
            02.04.2016 17:44

            человек имеет возможность распоряжаться собой, а код, по понятным причинам, не имеет.
            Это временное явление и над этим — куча народу работает. Пока получается «не очень», но всё впереди…

            Но да: GPL это свобода кода, BSD — это свобода пользователя этого кода.


      1. amarao
        31.03.2016 15:41
        +2

        GPL отстаивает свободу экосистемы. BSD даёт большую свободу конкретному пользователю. Дальше балланс между common goods и personal gain.


        1. heathen
          31.03.2016 16:23

          Я очень не верю в навязанное общее благо в ущерб благу индивидуума. С моей точки зрения общее благо может формироваться только и исключительно из добровольного желания членов общества. Иначе рано или поздно всё заканчивается террором. Иногда — надеюсь, что это только пока, правда, надежда эта безнадёжная и несбыточная — невозможно обойтись без принуждения, но искренне считаю, что его должно быть как можно меньше.


          1. khim
            02.04.2016 17:47

            Да не проблема ни разу. Прекратите использовать вещи, которые смогли возникнуть только из-за того, что кто-то "навязал" благо обществу в ущерб благу индувидуума (как то: компьютер, процессов и прочие разные "побрякушки") и можете продвигать свою философию дальше. А нам тут без вас будет гораздо лучше.


            1. heathen
              02.04.2016 23:33

              Извините, логику с навязыванием компьютера не понял. Хотя хамство уловил в последнем предложении, да.


    1. bormotov
      30.03.2016 20:02
      +2

      всё это разные плоскости, практическую пользу нужно как-то более комплекстно смотреть.
      С нашей колокольни — мы не используем GPL софт, это значит, не находим в нём баги, не репортим их, сами не чиним. В то же время, используя BSD/MIT/Apache — натыкаемся, репортим, отправляем патчи. Без всякого принуждения к этому, просто нам так выгоднее.


      1. Goodkat
        30.03.2016 20:41
        +2

        Многие боятся использовать GPL-код, так как боятся, что это обяжет их где-то публиковать свои собственные разработки использующие этот GPL-код.
        Например, есть большой фреймворк ExtJS под GPLv3 и какой-то совсем негуманной коммерческой лицензией. Если я использую GPL-версию для построения GUI корпоративного веб-приложения — какую часть своего кода и кому я обязан буду публиковать?
        Я — заказчику? Ну так он и так получает всё в виде исходных кодов.
        Или заказчик обязан публиковать исходный код своим сотрудникам, пользователям приложения?
        И можно ли считать публикацией исходный код страницы, видный по ctrl+u? :)


        1. bormotov
          30.03.2016 20:57

          вопрос не в том, боимся мы или нет.
          Вопрос в том, что совершенно не очевидно, что в итоге выгоднее для сообщества — требовать публиковать изменения или отсутствием таких требований, привлекать больше разработчиков, и получать "эти же самые" изменения на совершенно добровольной основе?


      1. beeruser
        31.03.2016 00:28

        >> мы не используем GPL софт, это значит, не находим в нём баги

        «Разработчики несвободных программ, стремясь лишить свободных конкурентов важного преимущества, будут пытаться убедить авторов не вносить библиотек в набор, распространяемый по GPL. Например, они могут взывать к самолюбию, обещая “рост числа пользователей этой библиотеки”, если мы позволим им применять ее в несвободных программных продуктах. Популярность соблазнительна, и для разработчика библиотеки легко обосновать мысль, что рост популярности этой конкретной библиотеки — это то, в чем сообщество нуждается больше всего.

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

        http://www.gnu.org/licenses/why-not-lgpl.ru.html


        1. bormotov
          31.03.2016 06:50
          +2

          "мы можем сделать так", это одно, а "мы делаем так, вот цифры от года к году", это совершенно другое.
          И не забываем "сплоченно противостоять конкуренции" — конкуренции с кем? В данном контексте с теми, кто пишет код под более свободными лицензиями?


          1. beeruser
            01.04.2016 00:49

            Там всё прозрачно написано — конкуренция с закрытым софтом.
            GPL помогает обеспечить конкурентное преимущество.


            1. heathen
              01.04.2016 13:45
              +1

              Так в данном случае конкуренция получается между "свободным" и "более свободным" софтом. Потому что одни библиотеки используются коммерческими разработчиками, в них вносятся правки. А в другие — которые коммерческие разработчики использовать не могут — не вносятся. Т.е. первые развиваются быстрее, получается?


      1. amarao
        31.03.2016 15:51
        +1

        Вашими бы словами да мёд пить. Сколько раз я видел картинку, когда честно тащили патчсеты, часто в тысячи строк, с болью их портируя из версии в версию, но всё-таки сами — потому что "с апстримом тяжело общаться". И лицензия на этот феномен не влияет никак.


        1. bormotov
          31.03.2016 15:59

          Ситуаций когда с апстримом тяжело общаться я знаю и по опыту коллег, и даже по своему собственному.
          Но да, это к лицензии никаким боком, а с постепенным переползанием всего и вся на Git/GitHub, этот момент тоже упрощается, гораздо легче форкать и мержить, чем раньше с патчами в почте, и сбоку у себя.
          Да что говорить — вон, коллега в соседней комнате, допиливает иногда что-то в системе тестирования java swing ui. На отправленный патч маинтейнер сказал "спасибо", и никак не отреагировал. "Проблема" в том, что хостится оно на sf. Я предлагал ему сразу форкать на GitHub, но оно скорее мертвое, особо нечего оттуда мержить, поэтому пока так.
          А вот то, что активно живое, там и на issue отвечают, да и в целом всё нормально с общением.


    1. DrPass
      30.03.2016 20:38
      +2

      Этот факт с BMW больше важен в том плане, что корпорация уважает и соблюдает требования лицензии. Тот момент, что у пользователей появляется возможность поковыряться в прошивке автомобиля, здесь роли не играет. Ну хотя бы потому, что (ИМХО, конечно), пользователям там делать нечего. Вероятность того, что сторонний контрибьютор «с нуля» в продукте подобного размера что-то сможет улучшить, крайне невелика. Зато что-то ухудшить, или в порядке эксперимента сделать какой-то мод прошивки своего авто, это запросто. Но BMW-то несет ответственность за качество автомобильного софта, а они никакой ответственности не несут.


      1. atorero
        30.03.2016 23:22

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


      1. Calvrack
        31.03.2016 00:10
        -1

        Вы так странно пишете… в 2013 году многие марки машин можно было заставить перестать слушаться водителя удаленно. Всплыло это потому что кто-то таки расковырял прошивку. Само собой производители не ответили и не понесли наказания (кто? какую отвественность?).
        "Вероятность того, что сторонний контрибьютор «с нуля» в продукте подобного размера что-то сможет улучшить, крайне невелика."
        Ну типа да — нельзя стало включить АБС на ровной дороге удаленно. Невелик фикс.
        Ну и пруфы, кто ж я без пруфов — https://www.youtube.com/watch?v=OobLb1McxnI


        1. adson
          31.03.2016 09:18

          [зануда mode]Система АБС у современного автомобиля включен вообще постоянно, без какой-либо возможности отключить ее из салона. Вот ESP — да, можно отключать иногда, но при старте она обычно автоматом активируется. Иначе все старания той же BMW по обеспечению безопасности насмарку[/зануда mode]


        1. DrPass
          31.03.2016 11:24
          +1

          Там было немного другое — они получили доступ к CAN-шине через головное устройство (которое само по себе не сильно отличается от смартфона). Т.е. взлом был через девайс со стоковой ОС, подключенный к бортовой шине. Грубо говоря, это больше аппаратная дыра в безопасности, а не программная.
          > Само собой производители не ответили и не понесли наказания
          Хм. Ответить и понесли наказание, это вы что имеете в виду? Кто-то совершил преступление? Кто-то пострадал? Кто-то понес материальный ущерб? Или вы предлагаете превентивно штрафовать каждого человека, про кого эксперт в лаборатории докажет, что он имеет физическую возможность взять в руки топор и зарубить старушку-процентщицу? ;)


          1. Calvrack
            31.03.2016 11:58

            Если аккуратно назвать вещи своими именами то взлом провели через сертифицированное производителем головное устройство. Слово "стоковая" не имеет в этом случае смысла. Это "кастомная" версия софта заказанная и принятая производителем машины.
            Не знаю внимательно ли вы смотрели но головное устройство не подключено к шине, оно подключено к мосту. Просто мост оказалось можно перешить прямо в пути.
            Честно говоря юридически мне трудно что-то сказать, но наличие

            1. Смотрящего наружу D-BUS
            2. Отсутствие файервола
            3. Возможность перешить мост
              это очень серьезные просчеты, которые могли привести катастрофе масштаба 9/11. Когда сотни машин разом тормозят и летят куда-то штат за штатом.
              Конечно именно для того компании и кормят своих юристов чтобы реже отдавать код, препятствовать его анализу и улучшению итп. Возможно состава преступления в таком разгильдяйстве и нет никакого.

            Но факт остается фактом — левые чуваки в свободное время, рискуя своей машиной исправили очень неприятную дыру.


            1. DrPass
              31.03.2016 15:03

              Я полагаю, слово «сертифицированное» тут все-таки лишнее. Разве автомагнитолу кто-то сертифицирует? Там наверняка был обычный Андроид (честно, подробности того взлома в свое время читал, но уже деталей не помню, конечно, а снова перечитывать лень), и то, что для него сделали скин в стиле автопроизводителя, сути не меняет.

              > это очень серьезные просчеты, которые могли привести катастрофе масштаба 9/11
              Теоретически — да, вероятность ненулевая. Но какова тут ответственность автопроизводителя? Разве должен нести производитель чего-либо ответственность за ущерб, который нанесли преступники, и который без преступных действий злоумышленника в принципе невозможен?

              > левые чуваки в свободное время, рискуя своей машиной исправили очень неприятную дыру.
              Во-первых, чуваки это делали не ради заботы о водителях, а ради азарта и ради славы. Если бы им нужно было сделать доброе дело, это бы не оформляли как крутое хакерское шоу, а просто написали бы в компанию отчет про найденный способ взлома. Я их, упаси боже, не осуждаю (ибо не за что), а просто… аккуратно называю вещи своими именами :)
              Во-вторых, а исправили? Уже не перепрошивается? (опять же таки, это вопрос, т.к. я не слышал про то, что автопроизводители занялись анализом вероятности подобного взлома)


      1. ctapnep
        31.03.2016 07:23

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


    1. VioletGiraffe
      31.03.2016 09:39
      -1

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


      1. shamanis
        31.03.2016 12:27

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


      1. ChALkeRx
        31.03.2016 12:54
        +4

        Отвратительная? Ну да, мерзкие людишки пишут свой софт и публикуют его под GPL, что не даёт вам его использовать в своём проприетарном продукте. Так? Вот ведь негодяи. И лицензия плохая.


      1. amarao
        31.03.2016 15:55
        +1

        А проприетарную библиотеку можно?


      1. FoxCanFly
        31.03.2016 16:28
        +1

        Поправка — тормозит разработку проприетарного софта компаний, которые хотят поднять денег на всём готовеньком, ничего не отдавая взамен авторам кода. Так туда им и дорога. Вам никто ничего не должен.


  1. vblats
    30.03.2016 19:43
    +4

    cups в автомобильной прошивке — это ужасно.


  1. Dmitry_Th
    31.03.2016 08:48

    Странно что в машине не используют ОС реального времени. Видать, специалистов по QNX мало осталось


    1. Immortal_Buka
      31.03.2016 09:18
      +1

      настолько жесткий реалтайм там и не требуется.


    1. RiseOfDeath
      31.03.2016 09:48

      По словам моего бывшего коллеги, который работал с QNX, драйверов там мало (он даже начал изучать линукс, чтобы портировать нужные ему драйвера под QNX)


      1. adson
        31.03.2016 10:26
        +1

        Это еще мягко сказано. У меня коллега пытался привязать OpenCV и тоже, мягко говоря, задолбался. Да и не нужна ОС РВ для авто. Все приоритетное — на аппаратном уровне, остальное — то, что можно отдать софту, не требует критичного времени исполнения.


    1. lonelymyp
      31.03.2016 10:54
      +2

      Вы же не думаете что впрыск топлива в цилиндры например управляются непосредственно из операционной системы?
      ОС там для мультимедиа функций, музыку послушать, карты посмотреть, красивые иконки для климатконтроля показать.


      1. vblats
        31.03.2016 11:51

        Ну… Чем больше в системе мусора, тем вероятнее получить к этой системе доступ, используя дыры этого мусора. Зачастую самые неожиданные, как то уязвимость bash.
        А уж что с помощью этой дыры поломать — уже дело техники.
        И как мне кажется, удаленное внезапное включение всего безобидного света в салоне, в то время пока авто едет на скорости по улице в ночном городе — столь же опасно для жизни, как и впрыск топлива в цилиндры.


        1. lonelymyp
          31.03.2016 12:03

          Лампочками разве что взять на испуг можно. вдруг испугается и дёрнет руль.
          А вот если вмешаться в круизконтроль и начать методично повышать скорость, плюс включить АБС, чтобы водитель не мог затормозить…
          Или отслеживать акселерометр системы ESP и активировать электронный ручник в крутом повороте...


    1. 123
      31.03.2016 15:44

      Fiat/Chrysler использует в своих марках мультимедиа систему uConnect на QNX


  1. lonelymyp
    31.03.2016 12:10

    Мне кажется это в интересах компании, раскрывать ПО такого рода.
    Пусть лучше сейчас для интереса взломают несколько авто найдя баг в ПО, автопроизводители осознают вектора атак и предусмотрят защиту, чем через 5 лет наконец всплывёт примитивный баг в сотне миллионов автомобилей который будет доступен любому скрипткидису.
    Чтоб не получилось как сетевыми принтерами, когда кто угодно может взять и распечатать миллионы обидных листовок, просто потому что ему это взбрело в голову.


  1. dzikar
    31.03.2016 21:19

    По факту есть чего бояться, прямо на ходу, можно прошить абс и вообще отрубить тормоза. либо с одной сторону затормозить колёса. Можно климат, будет греть салон и можно получить тепловой удар, либо зимой сделать ещё холоднее. Можно дёрнуть руль в сторону, если есть электро усилитель руля. Можно много чего сделать. Даже то что выедете из салона на новом авто, а приедете на развалюхе. К тому же мультимедиа система подключается к CAN. Просто всё зависит как.


    1. DrPass
      01.04.2016 09:27
      +1

      > Можно климат, будет греть салон и можно получить тепловой удар
      Или вывести на экран магнитолы такую гамму цветов, которая вызовет эпилептический удар, или вообще подчинит волю пользователя :)