My little virtual filesystem with EA + inference interface has been moving along for a few years and contains much of the same stuff as spotlight. Also it will obviously support reiser4 soon.
This is probably to late on in the piece to get modded up but anyway:
As far as the metadata side of the linux.com article is concerned, many of the things talked about have been implemented and working nicely in libferris for quite a while now
Most filesystems these days support EA (ext3, xfs, Reiser etc) the trick is having the system do something interesting for you with that EA capability automatically. This is another area where libferris helps, making EA that is trapped in files available aswell and providing indexing over your EA. (A catch-22 is that EA for files is supported in many kernel level filesystems but can be very slow relative to even file access, you have to index EA in some way in order to search for your files based on queries over your metadata).
Supporting ACID at the libferris level is a pending challenge.
Hi, A bit of a shameless plug, but none the less: I think that folks who liked the ideas in Edd's article might also be interested in my project, libferris.
Ferris allows metadata to be extracted from files and presented through a uniform interface. It supports inference on metadata and has the ability to index that metadata in many ways (eg. Berkeley db, odbc LDAP). Note that the metadata index can be used to index anything libferris can mount (XML, ODBC, RDF, LDAP, http, ftp...)
A cool thing related to Edd's piece is that you can read an inferred attribute "as-rdf" to obtain all the metadata that libferris knows about for a file as a single RDF/XML file.
Well, this applies to soo much in data compression. eg. BWT, algorithmic encoding etc. Most code like that could be coded in ASM without too much pain, Though it is small enough that compared to a 500 KLOC program it would be very hard to accuse somebody of stealing your code.
Though I think the point may be that the GPL is not the right place to try to protect new ideas. People could read any GPL code and rewrite a similar thing and be fine, the only problem here is that there are only so many ways to code a fast BWT or do algo coding using current ASMs. So even if they didn't copy you their code would look extremely similar, so much so that you could not tell if they copied or wrote from scratch.
So then basically if I came up with something that is both a small idea and has huge implications, like for example, the bwt, then the only was I could protect this is by patenting it. Making the GPL/OpenSource ideals redundant for most new ideas.
Recently I was playing around with MMX/SSE assembly code. It struck me that at the level
of MMX coding, there were only a few ways to
write a bit of code to perform well. So, due to the limited number of ways that MMX code can be written, for example, lets say that there is only one really nice way to write a function in MMX/SSE, all the others are much slower because they induce wait states etc. Following the example along, if I write this MMX code and GPL it like a good little boy, then any company can take it and use it in their non GPL code and claim that they wrote the same code because there is only one way to write that function "correctly".
So it would seem (to my logic) that code like this is immune to the GPL. Or that the GPL gives no protection to my work in this case.
After reading the previous slashdot reply from Doug Miller I must say
that being a well educated geek I agree that being financially rewarded
for by abilities is very nice.
It also strikes me that with the expectation of the Linux community that
software be free, it makes Linux a non-opertune target environment for my
projects. I have read various texts by ESR with respect to business models
in open source. Although it seems that marketing being what it is (4),
there are more people willing to pay for software on wintel than Linux,
and thus more ability to be able to code and still pay rent etc.
Although I have recently ignored by above paragraph and both targeted
Linux as my release platform and GPLed the code. I am also aware that in
doing this I have set in place an unsustanable lifecycle (5).
So my question is this:
Given that employment opertunities are drying up for career Linux
hackers (1), and that rapid development of desktop Linux would require
hackers to devote a lot of time to improving what is available (2),
how do you see the future of Linux as a desktop OS
given that the market for wintel and OSX developers offers so much
more remuneration and demand (3) than Linux?
(1) advents such as VA dropping 1/4 staff and Eazel 1/2 staff.
(2) KDE, GNOME, and e (e17 and all deps) are a great start, but
there is always so many things that are needed any nobody has the
time to do them. Eg Bonobo and gevas based streaming animation,
evas based emacs view edit:(
(3) for example the demand for ActiveX developers is so universal
with respect to Bonobo developers
(4) Largely the capitialization of other peoples ignorance.
(5) Shameless plug: see gevas and witme
I wonder why return == submit instead of preview. grr.
I was recently reading
the spotlight blurb.
My little virtual filesystem with EA + inference interface
has been moving along for a few years and contains much of
the same stuff as spotlight. Also it will obviously support
reiser4 soon.
I was recently
reading
As far as the metadata side of the linux.com article is concerned,
many of the things talked about have been implemented and working
nicely in libferris for
quite a while now
Most filesystems these days support EA (ext3, xfs, Reiser etc) the
trick is having the system do something interesting for you with that
EA capability automatically. This is another area where libferris
helps, making EA that is trapped in files available aswell and
providing indexing over your EA. (A catch-22 is that EA for files is
supported in many kernel level filesystems but can be very slow
relative to even file access, you have to index EA in some way in
order to search for your files based on queries over your metadata).
Supporting ACID at the libferris level is a pending challenge.
Hi,
A bit of a shameless plug, but none the less: I think that folks who
liked the ideas in Edd's article might also be interested in my
project, libferris.
Ferris allows metadata to be extracted from files and presented through
a uniform interface. It supports inference on metadata and has the
ability to index that metadata in many ways (eg. Berkeley db, odbc
LDAP). Note that the metadata index can be used to index anything
libferris can mount (XML, ODBC, RDF, LDAP, http, ftp...)
A cool thing related to Edd's piece is that you can read an inferred
attribute "as-rdf" to obtain all the metadata that libferris knows
about for a file as a single RDF/XML file.
Well, this applies to soo much in data compression. eg. BWT, algorithmic encoding etc. Most code like that could be coded in ASM without too much pain, Though it is small enough that compared to a 500 KLOC program it would be very hard to accuse somebody of stealing your code. Though I think the point may be that the GPL is not the right place to try to protect new ideas. People could read any GPL code and rewrite a similar thing and be fine, the only problem here is that there are only so many ways to code a fast BWT or do algo coding using current ASMs. So even if they didn't copy you their code would look extremely similar, so much so that you could not tell if they copied or wrote from scratch.
So then basically if I came up with something that is both a small idea and has huge implications, like for example, the bwt, then the only was I could protect this is by patenting it. Making the GPL/OpenSource ideals redundant for most new ideas.
Recently I was playing around with MMX/SSE assembly code. It struck me that at the level of MMX coding, there were only a few ways to write a bit of code to perform well. So, due to the limited number of ways that MMX code can be written, for example, lets say that there is only one really nice way to write a function in MMX/SSE, all the others are much slower because they induce wait states etc. Following the example along, if I write this MMX code and GPL it like a good little boy, then any company can take it and use it in their non GPL code and claim that they wrote the same code because there is only one way to write that function "correctly". So it would seem (to my logic) that code like this is immune to the GPL. Or that the GPL gives no protection to my work in this case.
After reading the previous slashdot reply from Doug Miller I must say
:(
that being a well educated geek I agree that being financially rewarded
for by abilities is very nice.
It also strikes me that with the expectation of the Linux community that
software be free, it makes Linux a non-opertune target environment for my
projects. I have read various texts by ESR with respect to business models
in open source. Although it seems that marketing being what it is (4),
there are more people willing to pay for software on wintel than Linux,
and thus more ability to be able to code and still pay rent etc.
Although I have recently ignored by above paragraph and both targeted
Linux as my release platform and GPLed the code. I am also aware that in
doing this I have set in place an unsustanable lifecycle (5).
So my question is this:
Given that employment opertunities are drying up for career Linux
hackers (1), and that rapid development of desktop Linux would require
hackers to devote a lot of time to improving what is available (2),
how do you see the future of Linux as a desktop OS
given that the market for wintel and OSX developers offers so much
more remuneration and demand (3) than Linux?
(1) advents such as VA dropping 1/4 staff and Eazel 1/2 staff.
(2) KDE, GNOME, and e (e17 and all deps) are a great start, but
there is always so many things that are needed any nobody has the
time to do them. Eg Bonobo and gevas based streaming animation,
evas based emacs view edit
(3) for example the demand for ActiveX developers is so universal
with respect to Bonobo developers
(4) Largely the capitialization of other peoples ignorance.
(5) Shameless plug: see gevas and witme