Re: [Introspector-developers] Re: [DotGNU]Proposal for a introspector API into free software develop
Status: Beta
Brought to you by:
mdupont
|
From: James M. D. <mdu...@ya...> - 2002-06-28 07:22:47
|
I have taken this discussion to the introspector-devel list where it belongs. I dont want to bother the gcc group any more. --- S11001001 <ru...@si...> wrote: > Hate to admit it, but this is way over my head. It is highly probable > that the same goes for some lurkers here [on DotGNU], so....(insert > proper request here) Let me address this on a technical level. Basically, the idea behind the introspector is that All types of data is stored about software on files in various formats, all types of programs exist to process this information. The idea behind the introspector is to extract that data out of the running tools via an XML Dumper patch into a common format (XML/RDF/DAML) and then have all types of tools to collate that into a repository of meta data. Instead of building tools to read the data, we change the existing GPled tools to tell us about the data. This could be harmless and very dangerous depending on the data involved, and a security concept is needed to regulate the proliferation of data. Remember in the old day, we had one executable, now we all have bandwidth, ram and disk with very little limit. This would then be presented back to the programmer, be accessable at run time and even the end user might benefit. The user will be able to use various tools like EMACS, DIA, VCG, MOZILLA, and more that are augmented to read and process this new unified data format. The interesting work being done on DAML fits perfectly into the meta-data and symantic repository concept. This introspection means that a program "knows" about itself and its environment, of course it is only possible and interesting for a user to process this information intelligently, the program is just a program that contains references to its meta data in a standard form. My current version contains a meta data framework in perl and a XML dumper for the gcc. The perl collects data from the gcc, stores the metadata in postgres repository , and then can do code generation in SQL, PERL, and XML. There is a lot of bits and bobs to the introspector, and now I am finally putting it all together. Also the first targets for the introspector were Perl, the gcc itself and the DOTGNU PNET C# compiler Cscc. I have the XML dumps of those projects metadata for a good point, that includes all public function decls, data types, modules and identifiers. For the sake of security and being social, the dumping of the full function bodies will be disabled for the standard build. The is what gets people upset because you can generate code with it. I propose that we define a standard interchange format for this meta data between the various free software development tools, this will be centered around a "HARD" typesafe shell (IDL/C/C++/Java/C#) API around a "SOFT" "XML/PERL/Python/Ruby/GUILE" scripting language, and SQL/XML/GDMB data repository with a XMLRPC/SOAP/CORBA/RPC network layer. Like the ActiveStates perlnet interface specification layer, you will be able to specify a typesafe interface into your scripting language using an IDL like language, and then generate via a standard set of tools an shell to contain your softer data. > BTW, would this follow the "Modest Proposal for a GNU infrastructure > license"? I did not reference that for a reason, to avoid more legal talk on a development list. I am not a laywer. Let my tell you about the technical side and give you a reference to how it was handled in the old days of the GCC development. The introspector in the spirit of the GNU manifesto, this proposal is radical and questions many of the existing currents in the GNU community. But it should be %100 GPL compatible. The only issue will be to devise the proper security model in terms of the DOTGNU framework. Some "DANGEROUS" data will not be published to the public, but only to a registered set of users across a secure interface. This is a problem that will be address on the DOTGNU list, not on the gcc list. This is like how the GCC development used to take place, where only the finished product was released. I you are interested in some history, check out this : "Re: what DOES the GPL really say?" thread. http://groups.google.com/groups?threadm=m2zpq0h7uc.fsf%40devo.ridgecrest.ca.us If we did the say, we would have ability to distribute "Dangerous" patches to a select few via SSH and some TERMS of Usage and EULA agreement, I am not a lawyer, and the legal FAQ will be published in a few weeks. Even if the agreement says : "You can distribute this by the GPL, but if you do we will stop the service and publically state that you as the one who broke the aggreement". I dont want to talk about licensing here. The modest proposal for a RGPL is a legal and social discussion, I want to avoid all futher license discussion on the development lists, if you are interested in it : my last update to the gnu.misc.discuss was here : http://groups.google.com/groups?threadm=aes5e7%24uk6%241%40quimby.gnus.org the thread on the FSL-dicuss here : http://lists.alt.org/pipermail/fsl-discuss/2002-June/000508.html And my blogger here: http://gccintrospector.blogspot.com/2002_06_23_gccintrospector_archive.html#78243629 Best regards, Mike ===== James Michael DuPont http://introspector.sourceforge.net/ __________________________________________________ Do You Yahoo!? Yahoo! Tax Center - online filing with TurboTax http://taxes.yahoo.com/ |