[GNU-Friends] Sections: Front Page News Interviews GNU-Friends Diaries
Menu: About Submit Story FAQ Donate Search
Hosted by: Kieser.net
Interview with GNUstep Developer Nicola Pero
By brian, Section Interviews
Posted on Tue Nov 18th, 2003 at 06:40:56 GMT
Nicola Pero is active member of the GNUstep development team, and has made many contributions the GNUstep enviroment. In this interview he talks about his work on GNUstep and his thoughts on free software and the GNU Project.


You're heavily involved in GNUstep -- can you tell us about the various projects you are working on?

Nicola Pero: GNUstep is a large project, and over the years I have been working on a lot of different areas of GNUstep.

My first contributions were on the GUI library, where I did a lot of the work which originally brought it into a usable state. I then was employed by Brainstorm Computer Solutions (a company based in London) to write an Objective-C / Java interface for GNUstep (JIGS), which I did. I still continued to work on the GUI and did contributions to the backend, base and guile/test frameworks too. I also started to be involved in efforts to simplify the build process of GNUstep, and I ended up working on the gnustep-make package. I worked on it intensively and I rewrote almost all of its internals; it went from being a very slow build system to being one of the fastest. I've also been doing some work on the GCC Objective-C support. One of my last major projects has been writing Renaissance, a portable framework for generating GUI from XML files, which I consider very important for the future of GNUstep.

I've been working on a lot of very different tasks in different areas, which is one of the reasons I have been really enjoying my work on GNUstep.

Free software is wonderful because when you get interested in an area of your system, you can read the source code, think about it, discuss with the original authors about how the software is written and why, propose improvements, rewrite things, and have fun.

How did you get interested in GNUstep?

It was almost a chance. I wanted to help the GNU project produce a good desktop system, and I felt the need to contribute.

I tried working on small bits of the GNOME project, but when I sent my patches and code to the maintainers of the bits I was working on, they were very unresponsive. It is probably my own personal unlucky experience, but for me being ignored was no fun and I looked around for something else.

So I tried GNUstep, just because it was the only other major GNU desktop project, and I found that it was way behind, and the GUI was in a very bad state -- totally unusable -- but the maintainers were responsive, they read my patches, commented on them, applied them. That was fun, so I got excited and became a regular contributor.

Then I was slowly but inexorably fascinated by GNUstep. The language (Objective-C) and the API (which tries to be compatible with the OpenStep API) are beautiful.

But still, I haven't forgotten the way I got involved in GNUstep in the first place, which is not because of the language or the API, but just because I found someone who was applying my patches. Which is why I think that being responsive with new people is very important.

If you are responsive with a new contributor, and if you intelligently review his/her patches and comments, and if you are helpful and friendly, there is a high chance that he will come back and contribute something else, and then something else, and then something else, ...

One of the main problems in the activity of a free software maintainer / developer is that it's difficult to keep the same amount of dedication in terms of time during the years, and that impacts your responsiveness. As your life evolves, your personal, job and family situations all change in such a way that in some periods it's really difficult to find time to do some serious free software coding.

There are periods when I can reply to all emails and process all patches and suggestions reasonably quickly, and also do useful coding and contribute code, and there are other periods when it's difficult for me to keep up with all the things to do, and I can be very lacking in responsiveness. I feel very guilty in those periods, and I feel a need to apologize with anyone who found me unresponsive in the past.

Are you paid to work on GNUstep?

I work for a company which provides mobile services to other companies. By "mobile services" I mean services involving mobile phones, such as SMS services. My main job is not writing free software, and not working on GNUstep; it has to do with implementing and supporting the company services.

Still, we use GNUstep heavily in the implementation of the services, and whenever a feature which is missing in GNUstep is needed for the services, we implement it.

Richard Frith-Macdonald (another core GNUstep developer) works in the same company too, and the business is generally friendly with our GNUstep activity. Our GNUstep experience directly benefits the business because it means we know inside-out the platform on which the company services are running. If there is a problem, we can track it down very quickly.

I did only one large dedicated GNUstep project paid by the company: writing the Java / Objective-C interface. That can be definitely considered being paid to work on GNUstep, but it was for a limited period of time.

The software you've developed such as Renaissance and the Java-GNUstep interface (JIGS) is extremely powerful. Do you have a background in Computer Science or did you move into software from another field?

I moved into software from maths/physics. I studied Theoretical Physics at Milan university (Italy); my final work there was on quantum stochastic calculus. But I wrote software occasionally since I was a boy; writing software is fun and it used to be one of my hobbies.

What do you think the main challenges are for the free software community today, and the best way to overcome them?

The fundamental challenge is to keep growing. The "market share" of free software has grown immensely in the past few years, but it still has a great potential for growth.

There is good free software for almost all software areas, but in many cases the solutions more largely adopted are still provided by proprietary software. There is the challenge of competing with these solutions, not only in terms of bare features, but more generally as products -- that includes all parts of the consumer experience, such as features, cost, usability, availability, support. There is a considerable challenge here because the free software community has to fight with big companies which have very strong marketing support.

I still feel a big missing gap in the free software product set -- or in the available software in general -- which is that the "definitive" development environment is still missing. Producing such a definitive product is a great challenge.

By "definitive" development environment I mean the "dream" development environment -- which would be based on some sort of simple and excellent compiled OO language with introspection and dynamical capabilities, and consist of a set of carefully designed libraries, build system and tools. All this available cross-platform. It does not look like anything particularly fancy or difficult, but for one reason or another, I know of no development environment which really delivers this promise.

Java is the only development environment which gets somewhat near this objective, but it's not free software, and it's still quite unsatisfactory in many ways. The language lacks in introspection and dynamical capabilities; it is running on top of an emulator which makes it slower than it could be; the basic libraries are big and bloated and the memory foot-print is huge. Still, there are some great ideas in Java. For example, in a standard Unix system, header, libraries and resources are searched for and found by different tools using completely different mechanisms. In Java, they are all located in the same way by the same mechanism (the classpath + package name/namespace). This is possible because Java has its own compiler, its own linker and its own runtime support. But it's still a great way of doing things, because a single simple (and flexible) mechanism lets you locate any sort of resources in a consistent way. This is the sort of features I'd expect from the "definitive" development environment.

I wish GNUstep would be able to fill that gap. But it doesn't have to be GNUstep -- if something else was filling that gap properly, I'd still be very happy. :-)

The other big challenge is to spread the ideas of free software into society and to challenge the raising business trend of considering "digital ownership" the only/best way of making money in the digital era.

Nowadays information is power; in the same way as owning land or factories or ships used to be the main source of power in the past, business men think that owning information is a key source of power today. And in the same way as ownership of land or factories has been at the center of the social battles of the past, in some sense we might expect to see ownership of information at the center of some of the social battles of the future.

There is a huge difference between owning a factory or owning a piece of music; you can reasonably argue (and I'd agree with you) that owning a piece of information is a meaningless concept; nevertheless many companies and business men feel that they can make great money by "owning" digital content and forcing consumers to pay every time they use "their" digital content.

Traditional copyright in a contemporary (non-traditional) environment is the business model for such companies; and it presents all the possible advantages -- copyright prevents competition (whoever owns the copyright has an exclusive right to distribute and produce modification), which is one of the main forces which can limit companies' revenues; the contemporary digital environment reduces costs (the other main force limiting companies' revenues) to the point they are almost negligible. Having those benefits together, and almost no disadvantage, would let those companies operate in an ideal scenario: the company does nothing, spends nothing, operates almost as a monopoly for the information it "owns", and just cashes money from consumers whenever a consumer uses "their" music or images or patents or software (or ...).

But such a model in which some companies act as leeches sucking money out of every single exchange of useful information, and without doing anything useful, is clearly not good, and we can hope it will encounter considerable resistance from the rest of society.

Free software is a great inspiration for such a resistance, because it is an example and a source of ideas and methods for different business models; models where companies still make money, where wealth and information is still produced and exchanged, but where companies make money when they do something useful, and where you have a free explosion of information, and a much larger fallout on society of the benefits of the explosion.

Free software clearly demonstrates that things like open standards, peer to peer cooperation, open processes and free sharing of information do work. As free software spreads, we can hope those underlying ideas spread as well, and that the current business approach of investing money and efforts in trying to prevent people from sharing and exchanging information (to build barriers forcing consumers to pay money every time they exchange data) is replaced by an approach where money and efforts and invested in helping people to share and exchange information.

There have been some attempts to make simple "economic" theories of why people work on free software. But you and other GNUstep developers all have shown a very high-level of dedication to the project over a long period of time -- would you say that the ideas of free software are important in helping to keep you motivated?

Yes, free software ideas are very important; but they are not the only motivators.

It's certainly difficult to understand why people work on free software; moreover, different people work on it for different reasons.

And it's even more difficult to understand the reasons if you are only focused on the money issue. Some clumsy (and poor) business men (/economic models) reduce every human activity to a pure commercial transaction -- then free software is something which does not make any sense. Producing software normally costs money, so why would a good programmer write software for free ?

But not every activity can be reduced to a pure commercial transaction -- and I don't think we should be surprised if we don't fully understand why people work on free software, because the same can be said of almost any other human activity.

It's equally difficult to understand why people go climbing or write a diary or play videogames; or why you would give money to a charity or go in a third-world country to help a charity organization run a hospital. Yet a lot of people do these things.

If you consider those from a pure greedy commercial point of view, they just don't make any sense.

Free software in its purest form is a mixture of fun in enjoying doing clever things and solving problems, and of feeling you're helping and contributing to the progress of society. And there is a lot of community building and community feeling too.

Those main motivations are often mixed, depending on the case, with lots more different and personal reasons -- for example taking part in free software development might improve your programming skills very quickly; it might provide you with exciting challenges and opportunities to demonstrate your skills; it might help you meet other developers and finding a job; it could keep you up-to-date with new developments; it might simply be a good thing to boast on your CV. Or maybe you might be interested in a specific free software product simply because it is a good product; you might still have practical advantages in contributing back your improvements (for example if that makes sure they are automatically included in all future releases).

All those things are difficult to fit in economic theories or models.

Yet, I'm not at all surprised -- for example marketing or branding are equally difficult to fit in economic theories or models, as they are often very much concerned with the consumer's psychology and perception of the buying process; and still they are an essential part of doing business.

Actually, that's a good parallel. If you are trying to explain to a business man why people write GNU software for free, rather than trying to use an economic model, you could have some fun and tell him that they do because GNU is such a terribly powerful brand.

Modern branding typically is about an organization focusing on the brand and on the relationship between the consumer and the brand, rather than on the actual products (or services). The main strategy is no longer building good products or advertising the products -- it is instead establishing a relationship between the consumers and the brand, and making it as strong, powerful and intriguing and as possible; the consumer buying the products is then a natural consequence of the relationship between the consumer and the brand.

You could then say that GNU itself is a brand -- a very powerful one indeed. Richard Stallman has certainly done all it could to establish GNU as a brand and to preserve its clearly distinct and unique brand identity.

GNU is not just an organization; it's a community, a way of life, a trend, a dream of a better world; it's something touching subtly your emotions and your dreams; it's a challenge, a revolution, a spirit. Or in other words, it's a great brand.

Being part of GNU is not just about using some software products; it's about evangelizing other people about them; it's about helping other people use them; it's about documenting the products; it's about being part of a community of people who support the products; it's about living the product; it's about maintaining them and enhancing them. Or in other words, it's a great brand experience.

But the GNU brand goes further than that - it gets to the point where GNU does no longer produce any products, and the consumers produce the products themselves. GNU only does marketing and branding activities, and puts its brand on products which are actually created by its consumers.

In this funny explanation, the GNU brand of course represents the ideas of free software.

So you have a funny explanation of why people contribute to free software. Why are people writing free software to the GNU project for free ? For the same reason that other people are buying very expensive products of a specific brand, while there are other products, totally equivalent, on the same shelf and at half the price, of a different maker. From a purely greedy commercial point of view it is an equally meaningless behaviour. If you can accept the fact that branding works in causing "illogical" commercial behaviour in people, you can accept the fact that free software ideas (acting in the same way as a brand does) can do the same.

Anyway, to come back to your question, in my experience with GNUstep, people contributing to free software come from all sorts of backgrounds, and do so for all sorts of reasons. Yes, generally for most people it has something to do with team working, building a better world, helping each other, building communities, but the reasons might well vary.

GNUstep has a somewhat special story, because a large part of its users and developers sincerely believes that it is, or could be, the best environment on the planet, so there is very strong fidelity to the project, and there are strong additional reasons for many users and developers to work on it and support it. To be honest a few of those users and developers don't actually care much about free software, and are much more interested in the actual technology and in the product (which I think it's fine once they respect the rules and comply with the terms of the licenses).

Still, the ideas of free software are very important for most people; particularly at the beginning, because they often provide a strong motivation to start your free software activity.

Once you are doing it, it's very much a community experience where you just do it and you know a lot of people doing it and it's part of your life, and as with any sort of life or routine, you don't need to be continuously reminded the reasons why you are doing what you are doing -- you just do it.

Thanks for taking the time for this interview and for your work on free software!

< GNU R Conference announced (4 comments) | EU Council may rush Directive on Software Patents (1 comments) >
Make a new account

View: Display: Sort:
Interview with GNUstep Developer Nicola Pero | 10 comments (10 topical, editorial) | Post A Comment
[new] guile and GNUstep scriptabilily (#1)
by a member of the hurd (#-1) on Tue Nov 18th, 2003 at 08:41:33 GMT

Can anyone tell something about the status of Guile-GNUstep? I am a fan of Lisp, and had a lot of fun while hacking with John Harper's LibREP (librep.sf.net) in GTK and Gnome. Is GNUstep accessable thru GNU Guile at present? If not, how can it be easily scriptable? I mean, using it from a high-level language (Python, Perl, ...?) instead of from Objective-C.

Many thanks.

[ Reply to This ]

[new] Wow. (#3)
by a member of the hurd (#-1) on Wed Nov 19th, 2003 at 23:08:14 GMT

Every time I think the last interview you post in this site is the best thing I've ever read, you manage to surprise me again.

I deeply appreciate Nicola's comments in this interview. Thank you so much for elaborating such interesting answers. Not every day you get to see these kind of interviews, as you may very well acknowledge.

Personally, I like to eventually translate interesting documents (interviews, articles, etc) from English into my native language, Spanish. Now I know this is the next thing I want to translate. This is the kind of things everyone should read...

And for the person/group of people who plans these interviews: thanks! Every single interview you have posted since the born of gnu-friends have had a great impact on me. You seem to have a great sense of who could be interviewed in the Free Software community, and what kind of questions really *matter*. Really great work guys.

Best Regards,

[ Reply to This ]

[new] Personal issues, the other way round (#4)
by leandro (#155) on Sat Nov 22nd, 2003 at 12:05:09 GMT
(User Info) http://homepage.mac.com./leandrod/

I wouldn't read much into these personal issues about getting patches accepted -- projects that grow so big and visible as Gnome inevitably will receive much more patches of much lesser quality than would be advisable to apply. That one is a great programmer now doesn't necessarily entail that his were great patches then.

But what is really interesting here is that his experience mirrors quite closely what de Icaza (or was it some other high-profile Gnome or Gtk developer?) said about GNUStep itself: that he tried to contribute but was practically shunned away, and thus Gnome (or was it Gtk?) was born. And GNUStep was never nearly as big as Gnome is, so it may be that there are personal differences at play here.

Now personal differences not necessarily mean meanness; it can be simply too different styles. Alternatively, perhaps each person or group just had too different technical concepts. And it is here that some unifying vision like relational data and functional programming could help... OO is just too fuzzy to provide that vision.

[ Reply to This ]

[new] r"r- (#5)
by a member of the hurd (#-1) on Wed Dec 15th, 2004 at 10:55:36 GMT

鲜 /--*i googler"r- 鲜 /--*i /-绿A`d摆

[ Reply to This ]

[new] Microsoft (#6)
by a member of the hurd (#-1) on Tue Jan 18th, 2005 at 03:45:23 GMT

Microsoft Hosted Windows SharePoint Service allows you to create a public and/or private Web site for document sharing and team collaboration, in minutes. Select from our template gallery and modify your pages by adding text, pictures and tables using just a Web browser. No programming required. This special offer, 50% off the regular price, is available exclusively to genuine Windows customers, and provides 50MB of disk storage and up to 20 registered users.

[ Reply to This ]

[new] great works! (#7)
by a member of the hurd (#-1) on Mon Mar 7th, 2005 at 03:45:13 GMT

fashion Mortage| asbestos lawyer| free software downloads| software downloads| free music download software| download free dvd burning software| mp3 download software| mortgage refinancing| home improvement loan| debt management| nokia cellular phone| johnny cash| eliminate credit card debt| portable mp3 players| home loan| Enterprise Software | loan| mp3 | mesothelioma lawyer| Mesothelioma Attorney| Car Accident Lawyer| Investment Fraud | Wisconsin Mortgage| Conference Calling| domain name registration| domain registration| cheap web hosting| web site hosting| data recovery| debt consolidation| real estate| home equity loan| online gambling | health insurance Free Software Download loan mesothelioma lawyer Mesothelioma Attorney Car Accident Lawyer Investment Fraud Wisconsin Mortgage Conference Calling health insurance free ebooks domain name registration domain registration cheap web hosting web site hosting data recovery debt consolidation real estate home equity loan online gambling loan Enterprise Software fashion lawyer travel host Casino data recovery Conference Calling Software erp, crm, scm java car domain name registration real estate insurance poker blackjack online gambling credit card mp3 loan 数码产品 数码相机 电脑游戏 网络游戏 BT软件下载 杀毒软件 时尚服饰 天气预报 证券 房地产 文学作品 小说频道 光学 电力 机械及工业制品 电子电工 化工 礼品、工艺品、饰品 家居用品 建筑、建材 服装、鞋帽 纺织、皮革 电脑、软件 环保 办公、文教 商务服务 食品、饮料 包装 农业 医药、保养 冶金矿产 汽摩及配件 运动、休闲 家用电器 通讯产品 安全、防护 印刷 能源 玩具 加工 二手设备转让 交通运输 代理 库存积压 项目合作 纸业 仪器、仪表 传媒 网络电视 手机铃声 化工 礼品 旅游 打折机票 出国 路由器 牛皮纸 PHP空间 手套 玩具 蓄电池 点钞机 培训 美容 购物袋 手机 硒鼓 出国 跑步机 网络机柜 ASP空间 化工原料 装订机 起重机 手机充电器 IC卡 UPS电源@ soudown 免费电影 Free Software Download loan 美女图片 动漫卡通 电影网站 网络电视 热门电影 影视 免费电影 除湿机 除湿 干燥设备 干燥机 减速机 条码 货架 租房 订房 二手房 鲜花 打折机票 机票 国际机票 特价机票 飞机票 移民 留学 爱尔兰留学 韩国留学 马耳他留学 马来西亚留学 加拿大留学 瑞士留学 日本留学 新加坡留学 新西兰留学 英国留学 澳大利亚留学 澳洲留学 虚拟主机 数据恢复 数据修复 化妆品 香水 域名注册 数码相机 数码摄像机 手机 sony数码相机 佳能数码相机 尼康数码相机 奥林巴斯数码相机 数码照相机 数码产品 光端机 打印机 扫描仪 成人用品 性用品 情趣用品 办公用品 体育用品 笔记本电脑 条码打印机 人力资源 商务考察 IT培训 管理培训 计算机培训 英语培训 翻译 翻译公司 英语翻译 旅游 张家界 张家界旅游 海南 海南旅游 九寨沟 九寨沟旅游 三峡 三峡旅游 三亚 三亚旅游 传感器 充电器 商标 注册公司 门禁 门禁系统 门禁控制 手机铃声 电影 小说 免费电影 免费电影 MP3下载 宽带电影 网络电视 网络电视 mp3 美女 游戏下载 明星 电影网站 热门电影 影视 lawyer travel host Casino data recovery Conference Calling Software erp, crm, scm java car domain name registration real estate insurance poker blackjack online gambling credit card mp3 loan MP3下载,免费电影下载 MP3下载 MP3下载 免费电影 免费电影 软件下载 游戏下载 MTV下载 网络电视 Flash下载 电子书下载 link link 免费电影 mp3 热门MTV movie 电子书下载 免费电影 mtv 下载 mp3下载 hotkey hotindex hotindex mp3 人气歌手 影视明星 魅力女星 魅力男星 动漫卡通 热门词 热门电影 热门游戏 魅力女星 热门软件 热门金曲 影视金曲 欧美经典 难忘老歌 摇滚地带 热门Flash 热门金曲 IT产品 汽车品牌 难忘老歌 免费电影 免费电影 MP3下载 宽带电影 GOOGLE排名 网络电视 mp3 美女 游戏下载 loan 手机铃声

[ Reply to This ]

[new] I read this site a lot more than I post. (#8)
by a member of the hurd (#-1) on Thu Mar 10th, 2005 at 13:53:17 GMT

cheap laptop annuity sell assurance quality bank america bank commerce banking online bankruptcy filing bond james broker ticket Credit Card equity research finance personal car financing new american funds federal income tax investment tool government irs mutual washington Board Pension Poem Quote Plan Savings File Share Stock Watch Tax Information banking fargo online well Software Trading

[ Reply to This ]

[new] happy (#9)
by keleyu (#731) on Mon Mar 21st, 2005 at 08:46:29 GMT
(User Info)

i like here
lyrics lyrics
[ Reply to This ]

[new] I read this site a lot more than I post. (#10)
by a member of the hurd (#-1) on Mon Mar 21st, 2005 at 15:49:56 GMT

lose weight fashion cell phone gastric bypass surgery american funds debt consolidation Mortage annuity sell MP3 DOWNLOAD cell phone assurance quality cell phone cell phone banking online fashions01 cell phone home loans

[ Reply to This ]

Interview with GNUstep Developer Nicola Pero | 10 comments (10 topical, editorial) | Post A Comment
View: Display: Sort:

Verbatim copying and distribution of this article is permitted in any medium, provided this notice is preserved. Images of gnu:s in the logo are © Free Software Foundation, Inc and distributed under the GNU General Public License. Comments are copyright by thir respective owner. All other material are © 2002 .