| --[http://passion.forco.de/ Ansgar Konermann] 17:34, 25 November 2010 (CET) | | --[http://passion.forco.de/ Ansgar Konermann] 17:34, 25 November 2010 (CET) |
- | Hello Ansgar, I think you are right. The most important thing is to keep the user '''informed'''. Probably the [[OSGi]] spec, tools, impls could do better job. However my point is that having the version identification attribute present (and required) since first version makes your life easier. This is not that visible in case of [[PropertyFiles]], where it is relatively easy to add new attribute in (almost ~ 99%) compatible way, but in case of binary formats, it is essential to get the version right as soon as possible, otherwise one can completely loose offset and interpret the content completely incorrectly. | + | Hello Ansgar, I think you are right. The most important thing is to keep the user '''informed'''. Probably the [[OSGi]] spec, tools, impls could do better job. However my point is that having the version identification attribute present (and required) since first version makes your life easier. This is not that visible in case of [[PropertyFiles]], where it is relatively easy to add new attribute in (almost ~ 99%) compatible way. However in case of binary formats, it is essential to get the version right as soon as possible, otherwise one can completely loose offset and interpret the content completely incorrectly. Without knowing that 3rd byte of the file represents a version, it is really tough job. |
- | Btw. your fix is not 100% [[BackwardCompatibility|compatible]]: In old version I might accidently use one of the added attributes for completely unrelated purposes. If I then upgrade the [[OSGi]] container to new version, it will complain and refuse my bundle which used to run in previous version. I guess this is the reason why new [[OSGi]] specification requires the ''Bundle-Version'' attribute to be present. Guys wanted to be 100% [[BackwardCompatibility|compatible]]. | + | Btw. your fix is not 100% [[BackwardCompatibility|compatible]]: In old version I might accidently use one of the (in future) added attributes for completely unrelated purposes. If I then upgrade my [[OSGi]] container to new version, it will complain about incorrect syntax (or whatsoever) and refuse my bundle which used to be completely fine in previous version. I guess this is the reason why new [[OSGi]] specification requires the ''Bundle-Version'' attribute to be present. Guys wanted to be 100% [[BackwardCompatibility|compatible]] and traded that for keeping user "informed" (yes, they still could do a better job and at least print a warning). |
| --[[User:JaroslavTulach|JaroslavTulach]] 18:51, 28 November 2010 (UTC) | | --[[User:JaroslavTulach|JaroslavTulach]] 18:51, 28 November 2010 (UTC) |