On June I joined Red Hat as a Senior Software Engineer.
I always said that I preferred to work on a small company before a big company, because on a big company you can’t be anything more than a number. That you can’t really grow professionally if you are such a small piece on a big machine.
I have to say: I was completely wrong. The room for manoeuvre you have on a big company is not comparable to that on a smaller one.
Just a month after my latest job change and I am completely in love with Red Hat. I keep asking around me “where is the trick? where is the trap?” because there have to be. Tough it seems there isn’t. If this is not my dream job, it is only one “geospatial” label away.
If you meet the 14 year old María and told her she was going to be working for Red Hat today, she wouldn’t believe you. Well, she would have laugh because she is a debianite, and what does a debianite do on Red Hat? (Still need to work on a good pun for this one)
An open source way of working
Upstream goes first. Open Source is the most important thing. Community tasks are important tasks. Don’t do a patchy patch to fix this, take your time and discuss how to really fix that bug. Developers, take the time you need, the important thing is that the software developed is good and has the quality needed. Ending doesn’t justify the means. Be honest, be fair.
Do we need to leverage technical debt and refactor? Do we want to make it easier for developers to work? Sure, just work on it! Do you think we are not doing what we should be doing? Are you not satisfied with the results? Speak your mind!
Remote is completely incorporated to the workflow. Of course we have offices, but our team is spread all around the world because, you know what? You don’t need to be on an office with more developers to do your best. And once a company understands that and adds it to their core, remote working is much more fluid and efficient! Having their developers happy is one of the priorities. No wonder the number of years someone stays in Red Hat is higher than in other companies.
Open Source, but not spatial any more?
I don’t intend to leave the spatial world. It’s true that my efforts will focus now on Apache Camel, Syndesis and OpenShift: Integration Platforms as a Service (IPaaS). But just a few days into the topic and my head was already conspiring to turn it into geospatial.
So you can expect me to go to some FOSS4G conferences every now and then, even if I drop my tasks as GeoNetwork maintainer aside. You will just hear me less about cats and metadata and more about camels and integrations. Or maybe camels and cats. Or spatial camels…
I could say that you will see me less because my geospatial community tasks will have to be taken from my free time, but, let’s face it, it was never otherwise. The difference is that now I have to mix with the middleware community too. And I want to stop more on safe spaces.
If someone linked you this post is probable you are organizing an event where diversity and inclusivity is an issue and they want to help you fix that. If you want, you can jump to the subsection that better adjust to your case.
Remember: diversity is not a TL;DR, you probably need to read the full article to get a better grasp of what you need.
As usual: I'm going to focus on the gender gap because it's easier for me to talk in those terms, but similar strategies can be applied to any other under-represented group.
I was told I have a manel, what’s that?
A manel is a panel full of men (usually white and middle aged). Usually this manel is the main panel or the keynoters panel whose members are the most relevant/the most advertised speakers. They are the display case of your event and they may tell more about your event than you probably suspect.
But I had no women speaker candidates for my event!
It doesn’t matter if it was a set of speakers chosen manually or if you sent a call for papers to the internet waiting for proposals. If you have few (or none) proposals that improve your diversity line-up, something went wrong. Because there are women (and PoC and functionally diverse speakers) out there. You just didn’t met them. But don’t worry, there’s many things you can do to improve it.
The key is on your network. It could be through personal face to face relationships, Twitter, LinkedIn, Facebook or even Instagram. But somehow you advertised your Call for Papers or searched for speakers and that was using a network. If your network is not diverse enough, you will never reach those people you want to reach.
A network is something that is built slowly. Don’t rush here. You will have to invest time looking for the right connections to extend your reach.
Start with random seeds
It may be that your current network is so homogeneous, you don’t know where to start reaching out for under-represented voices. A quick way to work around this is to add random under-represented seeds to your network. Take a couple of hours to search for women (or members of your target under-represented group) on the internet that are related to your field/area. They may not be the most relevant. They may not say something you don’t already know. They can even be juniors and not very good at sharing what they know. But through them, on time, you will meet other members of that under-represented group which will be more relevant to you.
Even more: those juniors that doesn’t seem relevant right now, with proper sponsorship and mentorship, can become relevant figures on our industry in a couple of years. You can even help them yourself so they become the kind of speaker you are looking for. Remember: this is not a sprint, this is a long run.
Am I too late?
As said, your network will grow slowly. You can take some shortcuts but they won’t help you in the long run. Those shortcuts will probably take you to tokenism, on the best case. They may be patches that work for your current event, but don’t be fooled: we know they are patches. And that sums to your bad reviews.
Diversity and inclusivity is like security or accessibility: if you don’t design your architecture with them in mind, you will get a hard time later adding it.
As a general rule, if you start worrying about diversity after you launch your Call for Papers or you announce your first keynoters, you are too late. Inclusivity should be one of the main topics since the beginning. If it is not, you may make some decisions that will make your inclusivity harder to reach.
One common flaw is to choose a venue that is not accessible. You are already limiting the kind of people who can attend your event on the first steps.
I was told I told need a Code of Conduct, is that so?
We are all civilized rational folks and we all understand what is right and what is wrong, right? I wish we were. That may work if you are on an homogeneous group. But different cultures have different points of view of what is a social acceptable behaviour and what is not.
For example, in Spain it is very common to give two kisses when saying hi to someone, even if it is the first time you meet that person. But that, as common as it is in Spain, is not a general rule on the rest of the world and it may be seen as aggressive. Never assume that your social rules are universal. Even if you run a local event, different social environments run by slightly different rules.
Why not write them down, just to make sure we are all on the same page? Why not write them down, so if someone is crossing the line, it is easier to point their behaviour and ask them to improve?
My line-up of speakers is diverse, but not the attendees of my event
Usually, your event will have a better diversity after a few editions if you keep a consistent diverse set of speakers. If that’s not enough, consider if there’s something else you may be missing. It could be something simple like the already mentioned Code of Conduct (CoC) or it could be something more complex, like bad fame gained over the years. Don’t panic, all this has a solution.
The most important thing is to be coherent and persistent. That will override any bad opinions your potential attendees may have. And it will generate good reviews that (don’t doubt it!) we will share among our peers, making them more favourable to join your event.
How do I know what is my flaw?
Reach to the current attendees that belong to under-represented groups and ask for feedback. They are the ones that survived to go to your event, but may give you some clues on why their pairs are not there. Don’t be afraid to ask, the worst thing that can happen is that they can’t help you.
Check things like time and date chosen, place, even the options for food and drink. Maybe your event is not child-friendly? Maybe your event collides with normal working time? There are many reasons why your potential attendees can’t attend. Is your venue accessible? Is it reachable by public transport?
Check how you look from the outside
Maybe you are advertising it on a way that is not attractive? It could be that your inclusivity is not clear. Or even worse: maybe your inclusivity is obviously missing. Use inclusive language and photos. Try to make your event attractive. Make it clear that you are open.
Maybe you already have some members of your targetted under-represented group in your network. But they suffer from Imposter Syndrome. You can sponsor them to make sure they are not left behind.
If all this fails, you can try other strategies like offering free tickets to under-represented groups. See next section for this.
There are no magic solution for diversity, each community has its idiosyncrasy that has to be taken care of. This is not an exhaustive article that covers everything, this is just a head up on where to start.
Free tickets on my event for under-represented groups!
This is a good approach to attract some under-represented group members. But don’t sell yourself cheap. Try to make some kind of competition, make yourself hard to catch, gamify it.
If you just offer free tickets on your website and social networks and don’t do anything to reach the under-represented groups, that’s a red flag for us. It means that you heard you have a problem, but are not really into fixing it. You just wait with your doors open to see if we enter, not really caring why is it we are not entering your event.
You may be tempted to offer the tickets to some community of under-represented folks and delegate on them to place the tickets. Don’t just give them the tickets and assume it will work. Our communities are usually hand-full with many things, we may not be able to focus on your problem. Specially if you just delegate and forget.
We are not here to solve your problem. We can help you solve your problem. Because the problem is yours, not ours.
If you are running a national or international event where your attendees usually travel, you might consider offering travel grants to your under-represented groups. This means: you may want to pay their travel costs to make sure they can make it to your event.
When you are trying to reach to under-represented communities that are somehow linked to having economic issues (for historical reasons, usually), this can come in handy. But it can be helpful for other under-represented groups that may need a last push to want to join your event.
Travel grants require some work. Not only to decide who and how much are you going to give, but also you require to collect the money first. You would be surprised how good a donation campaign may work. Some companies are also willing to donate and sponsor as long as they have some visibility on your event. Don’t see it as selling yourself to those companies: a mention thanking the donation is usually enough.
Hey, you are female, do you want to join my event?
But beware of tokenizing that female speaker you just reached. That won’t fix your problem and it will make us feel uncomfortable.
Consider that if we have to travel and it has to come from our own money, we have a limited budget. And many events we may want to visit. So be prepared to receive a “no” if you can’t pay for the expenses (see travel grant section).
Even if you can pay for the expenses, preparing a talk is also a work that will come out of our free time. Don’t assume that just because we are WiT activist we are going to be on all events filling all the slots.
Can you help me fix the diversity problem of my event?
That’s a fair question. After reading this article you are sure you have a problem and are a bit overwhelmed. So you want someone who seems to know how to fix it to take the lead.
Let me ask you this: Why would I want to help you fix your problem?
If you have a good answer to that question, let’s talk. Consider, as in the previous section, that WiT activists are usually busy fighting against the gender gap. I am not going to waste my time with someone who don’t really care for inclusivity and diversity. But if your answer is good enough, why not?
And if you don’t have a good answer, are you willing to pay for the consultancy? Or give something in exchange? Before you ask for help, give at least one good reason to help you.
Do we really need to explain the problem of diversity? IT is mainly white and male. Even the most egalitarian person have biases due to have lived on a non egalitarian world and this reflects on our community. There are also society pressure to some groups of persons not to work on IT.
In short, diversity should just be a matter of Social Justice.
But if you are looking for more purely economical reasons, recent studies have shown that diverse teams are more efficient and provide more quality outputs . This means that even when a company invest explicitly on improve their inclusivity and diversity, the return of investment is usually high. Investing in diversity is a win win situation, but it requires some deconstruction and some effort from all the people involved.
On this article, I am going to focus on women and the gender gap because that’s the issue I am most familiar with. Also, because as half the population everywhere is female, it is an easy aspect to quantify. But all content here can be extrapolated to any other under-represented group. Just extrapolate statistics and adapt numbers, when applies.
We know that the origin of the problem is probably not on your side: if fewer women study IT, how can half of your team be a women? But there are many things you can do to help leverage the issue.
The Warning Signs
Always check demographical status of your team. Are they all similar? Do they have the same backgrounds, same culture, same religion? Do they even have similar hobbies and family configuration? That’s suspicious. Society is not heterogeneous, and so shouldn’t your team be.
Compare your team with the society outside your team. Do demographics match? More than half of the population are women, are more than half of your team women? I bet it isn’t.
Or maybe you have diversity on your team, but it is not stable: the persons that bring diversity to the team don’t stay long, you cannot retain their talent. That’s a huge sign that your environment is not comfortable for them, that they don’t feel part of the team.
A person is not diverse. Don’t tokenize.
Notice I said persons that bring diversity to your team and not “diverse person”. A person is not diverse. I am not diverse. I can bring diversity to a team that is different from me. Don’t tokenize. Don’t take that single person that is different from you and claim you are inclusive because you are friends.
Key Indicators for Diversity
One of the things you should do to increase diversity is define some key indicators to measure and quantify diversity. This can help you address the issue more easily and can help others know if your team is a safe space.
Don’t be shy showing your data. We know all companies have bad data at the start, what we are interested it is on the evolution of those numbers.
First because that’s embarrassingly not true. And second because if you really fear your competitors may “steal” your employees, maybe you should offer them better benefits. Employees may leave because they don’t feel safe on your team or because they don’t feel valued.
Once you decide to publish your figures, don’t manipulate them.
But hey, there is no gender gap because if you cherry pick the bonus data, women have high bonuses. Right?
So, not only women were losing the benefits associated to the level they belong. They were also not offered those extra bonuses their males were offered above the salary they were assigned.
Key Indicators for companies
The follow table is an example of a Key Indicator for gender gap. You can extrapolate to other underrepresented groups based on the demographic statistics of the society around you.
Size of your company
Small (less than 20 employees)
You have no women in your team OR You have only one woman (token)
You have less than 30% women
Big (more than 100 employees)
You have less than 40% women
When doing this calculations, consider only your IT department. Hiring women on other departments (administration, cleaning, HR,…) is helpful but is not addressing the problem of the lack of women on IT. It only masks the problem.
The chosen percentages are different depending on the size of the company because the bigger the company is, the more they can invest on diversity.
Define different indicators, try to view the problem with different perspectives and approaches. Check not only that you have a good percentage of women, check also that they are evenly distributed among different levels. Are they all junior? Are they full or part time employees?
Now that we have measured the problem, what can we do about it?
You have to invest on diversity
Improving diversity and inclusivity on your team is not just a matter of of good will. You have to invest time and resources to get it done right. To begin with, companies should train their personnel departments to know how to handle it. There are strategies on how to write and publish job offers, how to plan the interviews and how to follow up once you hire someone.
For smaller companies that have no HR department, you should ask for advice to experts to know how to improve your processes. The cheapest strategy would be to look for resources yourself, but that will never be as effective as talking to some expert and getting an audit.
If you are an open source project or a not for profit community, you may not have money for training or hiring someone. You can then fallback to some fellow organization and ask for advice there, we can help you at least pointing to the biggest issues. But don’t forget that this comes with a cost, and free does not mean gratis. There should be some symbiotic relationship there to ensure sustainability.
Some tips on Closing the Gap
While you get some advice on your particular problem, here is a basic list of questions that can help you start brainstorming about how to improve the inclusivity in your team:
Do you have a Code of Conduct?
This is the first thing to check. Make sure there are clear red lines on what is an acceptable behavior and what is not.
There are many codes you can use as baseline. Take your time to select one that applies better to your use case.
Make sure all your team have read and understood the full code. If some member of your team disagrees with your guidelines, make sure you talk about their disagreement.
On the best case, this Code of Conduct (CoC) is already being followed on your team and it is redundant and there will never be a report. But without a CoC, it may be that some people are creating a toxic atmosphere without even knowing it.
Do you have a safe workflow in case of problems?
Having a CoC is not enough if you can’t report problems. Always make sure that there is a clear, transparent and safe workflow for reporting incidents. As a base line, the consequences of reporting an issue can’t be worse than the issue itself. Protect the personal details of the reporters and make sure they are protected. Protect both parties of the incident and make sure all reports are taken seriously.
Do you have a Diversity Strategy Plan?
Define some goals and deadlines. Define how you want to achieve them. Assign resources to those goals.
You don’t have to be too ambitious, just make sure you make improvements. And if your strategy does not work, this plan can help you detect that, so you can sit again to define a new plan.
The speed on which you improve the diversity is not as important as making sure improvements are made.
Go remote! Allowing flexibility will help you increment the pool of candidates to choose from. This is special for physically-challenged persons, family conciliation and similar situations where going to an office is not as simple as it looks like.
Use always inclusive language. Specially on job offers: they are your showcase to all possible candidates and you want to be as friendly and inclusive as you can. There are many tools you can use to check about your language. In time, inclusive language will come naturally to you, but until then, don’t hesitate and use them.
There are strategies to follow on job offers to make the more appealing. Following the MoSCoW method to define requirements of the job, adding a salary range, linking to your Diversity Plan and your CoC and, as said, use inclusive language.
On a similar candidate, hire the woman. And no, this is no discrimination against men, this is only compensating the already existing bias. There are many independent studies with different approaches that proves we have unconscious bias that make us evaluate better men than women (and white people better than people of color). So when you look at two candidates that you evaluate as similar, you have to “unbias”. Consider if there may be any prejudgements you are making without knowing.
Make sure the team is safe BEFORE hiring
You feel ready to improve diversity on your team. So you open a job offer with inclusive language and look very carefully the CVs received to choose someone different that will improve diversity on your team.
Stop there. No matter how tempting it is, don’t start by hiring a junior.
There are many reasons why your team is not diverse. Are you sure you solved all of those problems already? Is your team ready? You don’t want to introduce a junior inexperienced woman on a team that is not used to diversity. Really, you don’t want that.
Instead, you can invest a bit more and start by hiring a pair: a senior and a junior. The senior already knows the industry and knows what to expect. And she can mentor the junior so she doesn’t feel so lonely. Make sure they are a good match and work together successfully.
Don’t start by hiring a junior woman. Better by pairs: senior and junior
You may think this strategy is not what your company will benefit most. But remember again: the ROI of diversity is high. Even if you don’t really care if the women in your team are comfortable and want to stay, you want them to, because it is profitable for you.
Make sure the evolution is fair
Don’t push women to management, commercial or administrative tracks (unless they ask for it). It is very common to force women to pursue less technical tasks, something men don’t usually experience. Make sure you don’t have this bias and sponsor women on the IT track. If they survived to be on IT, it is because they want to be on IT.
Compare the evolution with the rest of your employees. Are you giving raises to everyone? Don’t forget to add some indicators here, make sure you don’t force women to jump to another job to advance.
Do you have former women employees? Ask for feedback! They have been there, they experienced it, they are the ones that know why you are leaking diversity.
Give voice to the under-represented
When you do an extra effort to give voice to the under-represented , you not only help them on their careers, you also normalize their presence and get the rest of the team used to consider them as equals.
On meetings, make sure everyone say at least something. When going to events, make sure everyone has a chance to present something. When making decisions, make sure everyone have a vote.
Let’s overlook the statistical justice of having a diverse team. Let’s overlook the social justice of working on a team with high diversity. We are capitalists, so let’s go directly to why you, as someone interested in having business at the end of the year, are interested in having a diverse team.
Each one of us sees the world from a different perspective, because of the vital experience that the society where we grow offers us. Those different perspectives are what makes us see different details on the same situation. And these details are what gives the products and services offered by your company the quality you need to succeed.
If you want to build a really accessible building, you must bring together a team that knows not only the laws (which usually cover the minimum), but a team that is composed of people who have suffered accessibility issues themselves.
Diversity in culture
Have you ever seen a chapter of a police series in which, after an exhaustive search, they find blood in the apartment of a murdered woman and conclude that it was there where they killed her? Well, it looks like no woman reviewed the script, because having blood your house is… common?
If you have ever had a problem grasping the importance of diversity in tech and its impact on society, watch this video pic.twitter.com/ZJ1Je1C4NW
But the script is written by writers in a hurry, right? It is not a good example of careful work that takes diversity into context. Well, let’s give a more complete example. A fantastic science fiction classic book: Dune . Scrupulous and careful, the author describes everyday aspects to the smallest detail to give credibility to his story.
Diversity in Science Fiction…or not
In Dune, the characters live on a desert planet where water is the most precious asset. Even moisture that escapes from the breath is something that must be stored and reused. So all these characters have a special suit at all times . This suit collects sweat and other body fluids to reuse them as drinking water. An adult has an amount of water in his possession in a closed cycle inside his suit.
Do they mention menstrual blood? Not at all, although the author mentions quite scatological details. But suppose it is a slip without bad intention.
However, something that is not mentioned at any time is how this cycle is maintained between pregnant women, babies and children. A pregnant woman needs more water as the pregnancy progresses. Not only because of the water that is given to the fetus, but also because of the water in the placenta. When the baby is born, the mother will continue to lose water through breast milk. And when this process is over, the child will continue to consume extra amounts of water throughout its development.
Is this relevant? Maybe not for a large part of the population, but the truth is that, in that world so explicitly detailed, the author skips a very important and relevant part of the whole process. Without taking into account all the problems of pregnancy and the development of children, their entire social system collapses and goes from being something plausible in science fiction to a deux ex machina in fantasy.
There are a thousand more examples of ideas, services, products and strategies that fail because the team behind is not diverse enough, with varied perspectives. And if these ideas are used in a business, they will fail miserably in something that could have been easily avoided.
Finalmente la pila de libros por leer fue bajando y le tocó el turno. Ya ni me acordaba bien de por qué había escogido este libro, así que contrariamente a lo que suelo hacer, no me salté la introducción. En su lugar, decidí leer la opinión de esta editora y por qué había decidido recopilar estas historias en concreto. Y vaya si me sorprendí.
Kristine Kathryn Rusch
Lo primero que comenta la autora, Katheryn, es que no entiende por qué tanto revuelo. Ella misma es una reconocida editora y escritora de ciencia ficción, best-seller, premiada múltiples veces. Y conoce a muchas otras mujeres que escriben con igual o más éxito en la ciencia ficción. Así que no entendía por qué las nuevas generaciones de mujeres escritoras se le acercaban como si hubiera un problema de brecha de género. ¿Cómo iban a estar las escritoras de ciencia ficción discriminadas, si son premiadas una y otra vez en los premios Hugo? ¿Por qué nadie parece conocerlas, si son best-sellers? ¿Sería que estas escritoras noveles no se habían molestado en buscar? ¡Si uno de los clásicos de la ciencia ficción está escrito por una mujer! Con seudónimo, eso sí, pero mujer al fin y al cabo.
Tengo que reconocer que en las primeras páginas temía haberme equivocado de libro, si este era el enfoque de la autora. Me sentía igual de confusa que esas escritoras noveles a las que les costaba encontrar referentes. Y me sentía un poco atacada por la autora al considerar que el problema estaba en mi, que no había sabido buscar. Pero como después de todo era un libro recopilatorio que es lo que yo quería, decidí seguir leyendo a ver hasta qué punto podría llegar a entender su postura.
Las autoras son ninguneadas sistemáticamente
Así que empieza a investigar el por qué de esta confusión. Y descubre algo terrible a la vez que sutil. Es cierto que las mujeres están muy bien posicionadas en los premios de literatura de ciencia ficción. Es cierto que son autoras de best sellers que no tienen problema en vender. Pero a la hora de las recopilaciones y antologías, las mujeres desaparecían radicalmente. Desde que Asimov murió y dejó de recopilar a los premios Hugo en 1992, parecía que nadie se había molestado en incorporar a autoras. Incluso cuando eran mujeres editoras, parecía que preferían quedarse con las historias masculinas.
¡La historia se estaba reescribiendo, dejando a las mujeres fuera!
Intentó localizar a editores de escritoras ya fallecidas y encontró que algunos se niegan a reeditar. A pesar de un éxito garantizado, parece que el interés y la inversión van a escritores masculinos. Se encontró también con mucha crítica en contra de escritoras porque, o bien no escriben como mujeres (como le dijeron a la misma Kathryn), o bien escriben demasiado desde el punto de vista femenino (como preocuparse de qué pasa con la menstruación).
Así que no importa si las escritoras de ciencia ficción son galardonadas. No importa si al ser publicadas son éxito de ventas. Al final la historia se reescribe y acaban siendo ninguneadas.
Con la consecuencia directa de que, gente que no conoce de primera mano a estas autoras (porque no seguimos los premios Hugo, porque no leemos las revistas especializadas) y somos simplemente lectores ávidos, ni siquiera tenemos acceso a estas escritoras.
Una de las cosas que más me ha sorprendido en mi andadura feminista es hasta qué punto todas hemos tenido una evolución más o menos parecida. Con nuestros triggers particulares, nuestras situaciones y nuestras epifanías, la evolución es siempre parecida, cada una con sus tiempos y su velocidad particular.
Un día, de alguna forma, algo nos hace tomar conciencia de que no queremos ser lo que se supone que la sociedad espera de nosotras. Como decía aquella, yo soy el médico con el que mis padres querían que me casara. No hace falta tener a un hombre al lado para poder ser nosotras mismas. Quiero ser independiente.
Pero eso choca frontalmente con tu entorno. Toda la presión es para convertirse en una mujer florero, en un adorno, en el anexo de alguien. Incluso pasas por esa fase del “yo no soy como ellas”, como si la culpa fuera de las otras mujeres. Quieres diferenciarte. Intentas borrar todo rastro rosa de tu vida. Que se note que esa no eres tú.
Vayas a donde vayas, siempre hay problemas. Porque nadie espera tu comportamiento, nadie espera tu forma de ser. En el momento en el que te sales del guión, todo el mundo se te pone en contra. Eres la loca del coño que protesta por todo. Parece que nunca estás contenta.
Hasta que descubres a las otras feministas. A otras mujeres que les pasa lo mismo que tú, que no encajan. Es más, ¡es que ninguna encajamos en ese modelo! Te reconcilias con el rosa, con el arreglarte. Te reconcilias con ser tú misma, exactamente como tú quieras ser. Ni lo que espera de ti la sociedad, ni lo contrario. Reclamas tu espacio y en ese espacio sólo dejas entrar a quien tú quieras.
Y a base de reforzar tu posición, en algún momento, haces las paces contigo misma. A partir de entonces, todo es mucho más sencillo. La sororidad entra en tu vida. Miras a las otras a los ojos y te ves a ti misma.
Porque ahora ya, has roto con el machismo y puedes ser tú misma. Cuando quieras. Como quieras.
“My definition of freedom is knowing who you are, and then being it. No matter what anyone else is doing. And naked parties of course.”
First of all: Eclipse has better support for Maven projects on each version. So, to avoid headaches, just download the latest eclipse available.Eclipse has many installer tutorials, so I won’t stop here explaining how to run eclipse. I will just assume you know how to do it.
To run GeoNetwork from eclipse is very very easy. Just right click on the Package Explorer view to import -> As Maven Project over the folder you already had cloned on the last post:
There is still something Eclipse does not support right about GeoNetwork: we have a classes folder that Eclipse tends to misconfigure. So, go to that folder, right click and remove as source folder. To do this, go to the “web-app” project and right click on src/main/webapp/WEB-INF/classes. Select Build Path > Remove From BuildPath.
Then, completely remove the folder from the source code. Don’t worry, it’s git, you can recover it later. You can also do this by right-clicking on the folder and selecting Delete. Yes, you are sure you want to delete folder “classes“.
Now, update as maven project right clicking on the project “web-app” and selecting Maven > Update Project …
Once this finishes, you can restore the folder we previously removed. Go to the “web-app” project, right click on src/main/webapp/WEB-INF and select Replace With >HEAD Revision. Yes, you are sure.
Congratulations! You are ready to use Eclipse to modify GeoNetwork.
But wait, how do we run GeoNetwork inside Eclipse to be able to debug?
We have several approaches here. Remember the jetty command to run GeoNetwork from the console? It is available also inside Eclipse (right click on web-app and Run As > Maven Build) and you can add some maven variables to be able to run in parallel a debug watch to debug your code. You can also set up a Tomcat server inside Eclipse and run GeoNetwork from it. This second option is more easy for beginners, so that’s what we are going to do now.
First, you have to create a Tomcat server inside Eclipse. So, search for the “Servers” tab and right click on it. Select New > Server. You will see a windows offering different types of servers. We will select the Tomcat v.7.0 Server one. You will probably won’t have any server runtime environment configured for it, but you can “Add…” a new one. There are many tutorials for this, so we won’t stop here.
On the following window, you can select which applications to run. Obviously, you choose the one called “web-app” and Finish.
Now, you will have a new Server on the Servers tab. select it (left-click) and click on the green arrow just on the top of that tab. You will see on the “Console” tab all the output of GeoNetwork starting up. Once it is started, you can enter GeoNetwork the same way as before, using http://localhost:8080/geonetwork
Last week I attended the JIIDE conference, that took place here in Sevilla. This is the official conference for both portuguese and spanish spatial data infraestructures. The presentations were diverse and rich in content and there were working groups for INSPIRE and conformance running in parallel.
You could see some trends in how SDIs are evolving through all the Iberian Peninsula. Geograma explained to us that hiding data behind paywalls or registering sites makes us less compliant. But on the other hand, maybe it doesn’t matter because as José Fernández (IECA) showed us, data is going more and more open and free. Why should someone pay for data generated on a public administration? It has already been payed by taxes and a paywall is just another stone on the way of generating added value to the data. And above all this, every country has a different payment and access system, so it is virtually impossible to query the same data on different countries easily, which was one of the goals for INSPIRE.
Transparency, interoperability, quality, conflation,… keywords through all the conference. As an example of conflation and reusability, IECA was created by the union of the geospatial information department and the statistics department of the government of Andalucía. This allows them to localize statistic data that, once the privacy details are removed, can be easily shared. Creative Commons is the main license for all their products.
On a statal level, now we have the CNIG, who unifies all the data from Spain and allows us to download (or buy) data. Here, the map is not the central issue, but just another product you can use.
And still, there are many things INSPIRE has yet to solve. There are a lot of abstract requirements the nodes are not sure how to solve. All data has to have quality metadata associated to it, but, is there any quality minimum required for the data? How close the scales should be? What precision? And above all, how are the different public administrations supposed to handle all this without specific financing from Europe? Or what is worst: why do Europe ignore the conclusions reached by several working groups on different countries? Why reinventing the wheel?
There was another subject running through all the conference: why do SDIs have less users than open data portals? Is it because the type of data? Is it because we don’t focus on usability? Why do they choose data from worse quality (or not government certified)? It looks like we have to work more on usability and user interaction.
Should SDI focus on developing applications around the data? Or should they just focus on being a data repository third party companies can query to generate added value? Should we merge with the opendata portals even if that means lose part of the focus on spatial data?
Javier López, explained the problem about persistent identifiers. We have to assume that the entities generating data will not be persistent. But their data should survive those entities and we should be able to trace back who created the data and who have been maintaining it. How to achieve this without being too dependent on some specific platform? How to create a standard that survives through the years?
We also had the visit of Rodrigo Barriga Vargas (IPGH) who told us about GeoSUR, an initiative to create, conform and share quality spatial data in America. He told us how lucky we are to have INSPIRE as a gubernamental initiative to force us to follow standards.
But the best thing was to see how GeoNetwork is being used more and more and we have happy users advocating that it is the only SDI that makes sense.
GeoNetwork never has been an easy software to work with. But specially after the 3.0 version release, many things have changed. On this series of posts we will try to help new developers start with GeoNetwork.
The source code of GeoNetwork is available on a public repository on Github. This means that you can clone, fork and propose pushes of your custom changes. If you are not familiar with repositories of code or git, you should check this quick manual.
Maven and Java
GeoNetwork is built using mavenversion 3+. It is written on Java and requires version 7 or more. It works both with OpenJDK or the Oracle version.You will need git and maven installed on your local machine to work. There are several ways to install this on your local machine; for example if you have a Debian based OS (like Ubuntu), you can install them with just this command:
Remember that this will also install java on your system. You can check that the version is the right one with the following command:
So, the very first step once you have your environment set up is clone the GeoNetwork repository on your local machine. That can be done on the command line using the following command inside an empty folder where the source code will be populated:
As you can see, all the source code shown on github is also available on your local machine now.
Internal Structure of GeoNetwork
The source code of GeoNetwork is split on several smaller maven projects. To run GeoNetwork, you have to build all of them and run the project named “web“.
If you are familiar to maven, you will probably have guessed that you have to run a package install command on the root folder of GeoNetwork source code. But if you try that, maven will warn you that for building GeoNetwork you need more memory than the default memory provided to maven.
This means, you will have to export the maven options to increase the memory like this:
export MAVEN_OPTS=”-Xmx512M -XX:MaxPermSize=256M”
At this point we are not interested in running the tests, so you can skip them using the parameter “-DskipTests”:
mvn package install -DskipTests
At the end of this build (which can take long, depending on your network connection, as it has many third party libraries), you will see something like this: